【JavaScript】重点记录

以下内容均为个人学习笔记。

JavaScript 用法

HTML 中的脚本必须位于 <script> 与 </script> 标签之间。
脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。

提示:那些老旧的实例可能会在 <script> 标签中使用 type="text/javascript"。现在已经不必这样做了。JavaScript 是所有现代浏览器以及 HTML5 中的默认脚本语言。

  • 您可以在 HTML 文档中放入不限数量的脚本。
  • 脚本可位于 HTML 的 <body> 或 <head> 部分中,或者同时存在于两个部分中。
  • 通常的做法是把函数放入 <head> 部分中,或者放在页面底部。这样就可以把它们安置到同一处位置,不会干扰页面的内容。

提示:我们把 JavaScript 放到了页面代码的底部,这样就可以确保在 <p> 元素创建之后再执行脚本。

外部的 JavaScript
也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。
外部 JavaScript 文件的文件扩展名是 .js。
如需使用外部文件,请在 <script> 标签的 "src" 属性中设置该 .js 文件

提示:外部脚本不能包含 <script> 标签。


JavaScript 输出

JavaScript 没有任何打印或者输出的函数。
JavaScript 可以通过不同的方式来输出数据:

  • 使用 window.alert() 弹出警告框。
  • 使用 document.write() 方法将内容写到 HTML 文档中。
  • 使用 innerHTML 写入到 HTML 元素。
  • 使用 console.log() 写入到浏览器的控制台。

提示:请使用 document.write() 仅仅向文档输出写内容。如果在文档已完成加载后执行 document.write(),整个 HTML 页面将被覆盖。

提示:console.log() 方法能够让你看到你在页面中的输出内容,让你更容易调试javascript;与alert相比,console不会打断你页面的操作,console里面的内容非常丰富,你可以在控制台输入 console。


JavaScript 语法

变量是一个名称。字面量是一个值。

JavaScript 标识符

  • JavaScript 标识符必须以字母、下划线(_)或美元符($)开始。
  • 后续的字符可以是字母、数字、下划线或美元符(数字是不允许作为首字符出现的,以便 JavaScript 可以轻易区分开标识符和数字)。

JavaScript 数据类型
JavaScript 有多种数据类型:数字,字符串,数组,对象等等:

var length = 16;                                  // Number 通过数字字面量赋值
var points = x * 10;                              // Number 通过表达式字面量赋值
var lastName = "Johnson";                         // String 通过字符串字面量赋值
var cars = ["Saab", "Volvo", "BMW"];              // Array  通过数组字面量赋值
var person = {firstName:"John", lastName:"Doe"};  // Object 通过对象字面量赋值

JavaScript 对大小写是敏感的。

JavaScript 字符集
JavaScript 使用 Unicode 字符集。
Unicode 覆盖了所有的字符,包含标点等字符。

提示:JavaScript 中,常见的是驼峰法的命名规则,如 lastName (而不是lastname)。
提示:JavaScript 是脚本语言。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。


JavaScript 语句

浏览器按照编写顺序依次执行每条语句。

对代码行进行折行
您可以在文本字符串中使用反斜杠对代码行进行换行:

document.write("你好 \ W3Cschool!");

不过,您不能像这样折行:

document.write \ ("你好W3Cschool!");

JavaScript 变量

  • 变量必须以字母开头
  • 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
  • 变量名称对大小写敏感(y 和 Y 是不同的变量)

提示:JavaScript 语句和 JavaScript 变量都对大小写敏感。

在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是 undefined。

如果重新声明 JavaScript 变量,该变量的值不会丢失。

变量类型
作用域

JavaScript 数据类型

字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。

JavaScript 拥有动态类型
JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:

var x;               // x 为 undefined
var x = 5;           // 现在 x 为数字
var x = "John";      // 现在 x 为字符串

JavaScript 数组
下面的代码创建名为 cars 的数组:

var cars = new Array();
cars[0] = "Saab";
cars[1] = "Volvo";
cars[2] = "BMW";

或者 (condensed array):

var cars = new Array("Saab","Volvo","BMW");

JavaScript 对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

var person = {firstname:"John", lastname:"Doe", id:5566};

Undefined 和 Null
Undefined 这个值表示变量不含有值。
可以通过将变量的值设置为 null 来清空变量。

声明变量类型
当您声明新变量时,可以使用关键词 "new" 来声明其类型:

var carname = new String;
var x = new Number;
var y = new Boolean;
var cars = new Array;
var person = new Object;

提示:JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。
提示:JavaScript 具有隐含的全局概念,意味着你不声明的任何变量都会成为一个全局对象属性。

undefined 和 null
object

JavaScript 作用域

HTML 中的全局变量
在 HTML 中, 全局变量是 window 对象: 所有数据变量都属于 window 对象。

提示:你的全局变量,或者函数,可以覆盖 window 对象的变量或者函数。
局部变量,包括 window 对象可以覆盖全局变量和函数。

提示:在 ES6 中,提供了 let 关键字和 const 关键字。
let 的声明方式与 var 相同,用 let 来代替 var 来声明变量,就可以把变量限制在当前代码块中。
使用 const 声明的是常量,其值一旦被设定便不可被更改。


JavaScript 字符串

通常, JavaScript 字符串是原始值,可以使用字符创建:var firstName = "John"
但我们也可以使用 new 关键字将字符串定义为一个对象:var firstName = new String("John")
提示:不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用。

字符串属性和方法

  • 原始值字符串,如 "John", 没有属性和方法(因为他们不是对象)。
  • 原始值可以使用 JavaScript 的属性和方法,因为 JavaScript 在执行方法和属性时可以把原始值当作对象。

JavaScript 运算符

规则:如果把数字与字符串相加,结果将成为字符串!


JavaScript 类型转换

JavaScript 类型转换
Number() 转换为数字, String() 转换为字符串, Boolean() 转化为布尔值。

JavaScript 数据类型
在 JavaScript 中有 5 种不同的数据类型:

  • string
  • number
  • boolean
  • object
  • function

3 种对象类型:

  • Object
  • Date
  • Array

2 个不包含任何值的数据类型:

  • null
  • undefined

注意

  • NaN 的数据类型是 number
  • 数组(Array)的数据类型是 object
  • 日期(Date)的数据类型为 object
  • null 的数据类型是 object
  • 未定义变量的数据类型为 undefined

如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是 返回 Object。


JavaScript 闭包

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();

add();
add();
add();

// 计数器为 3

提示:闭包是可访问上一层函数作用域里变量的函数,即便上一层函数已经关闭。


JavaScript Boolean 对象

如果布尔对象无初始值或者其值为:

  • 0
  • -0
  • null
  • ""
  • false
  • undefined
  • NaN

那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,429评论 0 3
  • 第1章 JavaScript 简介 JavaScript 具备与浏览器窗口及其内容等几乎所有方面交互的能力。 欧洲...
    力气强阅读 1,201评论 0 0
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,281评论 0 4
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,537评论 0 5
  • 第一章 前端三大语言:HTML(专门编写网页内容)、CSS(编写网页样式)、JS(专门编写网页交互行为) 能简写尽...
    fastwe阅读 1,083评论 0 0