前端进化笔记-JavaScript(二)()

因为作者学过其他类c语言,就不对大家都熟悉的内容进行赘述了。

语法

JavaScript区分大小写

标识符:变量,函数,属性,函数参数的名称

第一个字符必须是字母,下划线(_),美元符号($);
关键字、保留字、true、false和null不能用作标识符

标识符:变量,函数,属性,函数参数的名称

  • 第一个字符必须是字母,下划线(_),美元符号($);
  • 关键字、保留字、true、false和null不能用作标识符

作者在后续阅读的过程中,发现对各种名称不熟悉导致阅读不畅,所以在这里建议大家把一些名词和对应内容稍微记一下,如:标识符,操作符,关键字,属性,方法等

es5引入严格模式概念,这是一个让人拍案叫绝的改动,JavaScript繁多的表达形式和便捷性着实让人又爱又恨。代码为

"use strict";

关键字:有一些特殊用途,如控制语句等,这里简单枚举几个例子帮助理解:return break if this while var

关键字:有一些特殊用途,如控制语句等,这里简单枚举几个例子帮助理解:return break if this while var

保留字:未来可能用作关键字的字符

保留字:未来可能用作关键字的字符

变量

JavaScript中的变量声明很随意,无论什么变量都可以用var声明甚至可以不声明当然你别忘了分号都可以不打(当然这样说只是吐槽JavaScript的随意,而不是这样用)

var message;
message = 100;

var

var定义的变量会成为它所在函数的局部变量,该变量在退出时就会被销毁,在函数外部是无法访问到的。而不用var直接声明的变量是全局变量,调用一次函数后就可以被访问。

如果在全局作用域中使用,则会成为window对象的属性。

使用var声明的变量会自动提升到函数作用域顶部,所以特意讲变量声明放在访问前不是必须的

let

let声明的变量只存在于块作用域,即{}内部,在同一个作用域中一个变量名只能声明一次,而var则允许出现冗余声明。注意,分别使用let var定义同名变量也会报错。

用let在全局作用域使用,不会成为window对象的属性,但仍然是全局作用域声明的,要注意声明冗余。

let声明不会对变量进行提升

const

与let基本相同,但是其在声明时必须初始化变量,同时此变量不允许修改。但如果是对象,修改对象内部属性的值是允许的

数据类型

Undefined Null Boolean Number String Symbol Object

在数据类型之前,typeof操作符是用来确定变量数据类型的手段。大部分typeof对数据类型的返回值是其小写形式,但有一些是例外。

  • object表示值为对象或null
  • function表示值为函数
————————

因为作者学过其他类c语言,就不对大家都熟悉的内容进行赘述了。

语法

JavaScript区分大小写

标识符:变量,函数,属性,函数参数的名称

第一个字符必须是字母,下划线(_),美元符号($);
关键字、保留字、true、false和null不能用作标识符

标识符:变量,函数,属性,函数参数的名称

  • 第一个字符必须是字母,下划线(_),美元符号($);
  • 关键字、保留字、true、false和null不能用作标识符

作者在后续阅读的过程中,发现对各种名称不熟悉导致阅读不畅,所以在这里建议大家把一些名词和对应内容稍微记一下,如:标识符,操作符,关键字,属性,方法等

es5引入严格模式概念,这是一个让人拍案叫绝的改动,JavaScript繁多的表达形式和便捷性着实让人又爱又恨。代码为

"use strict";

关键字:有一些特殊用途,如控制语句等,这里简单枚举几个例子帮助理解:return break if this while var

关键字:有一些特殊用途,如控制语句等,这里简单枚举几个例子帮助理解:return break if this while var

保留字:未来可能用作关键字的字符

保留字:未来可能用作关键字的字符

变量

JavaScript中的变量声明很随意,无论什么变量都可以用var声明甚至可以不声明当然你别忘了分号都可以不打(当然这样说只是吐槽JavaScript的随意,而不是这样用)

var message;
message = 100;

var

var定义的变量会成为它所在函数的局部变量,该变量在退出时就会被销毁,在函数外部是无法访问到的。而不用var直接声明的变量是全局变量,调用一次函数后就可以被访问。

如果在全局作用域中使用,则会成为window对象的属性。

使用var声明的变量会自动提升到函数作用域顶部,所以特意讲变量声明放在访问前不是必须的

let

let声明的变量只存在于块作用域,即{}内部,在同一个作用域中一个变量名只能声明一次,而var则允许出现冗余声明。注意,分别使用let var定义同名变量也会报错。

用let在全局作用域使用,不会成为window对象的属性,但仍然是全局作用域声明的,要注意声明冗余。

let声明不会对变量进行提升

const

与let基本相同,但是其在声明时必须初始化变量,同时此变量不允许修改。但如果是对象,修改对象内部属性的值是允许的

数据类型

Undefined Null Boolean Number String Symbol Object

在数据类型之前,typeof操作符是用来确定变量数据类型的手段。大部分typeof对数据类型的返回值是其小写形式,但有一些是例外。

  • object表示值为对象或null
  • function表示值为函数