js权威指南---学习笔记02

1、JS只有函数作用域,没有块级作用域这个概念;

   它有一个特性——声明提前:在同一个函数中不同位置声明的变量,都被提前在函数开始的时候,执行声明操作;在原先位置执行赋值操作;

2、声明的全局变量,相当于定义了全局对象的一个属性;

   1)如果使用var声明全局变量,这个属性是不可配置的。也就是无法delete

   2)如果不使用var声明,则可以进行delete;

   例子: var s1 = "s1";  //不可配置的全局变量

          s2 = "s2";   //可配置的全局变量

  delete s2;   //可以执行delete操作,变量将被删除

3、★作用域链

4、原始表达式:表达式的最小单位。

   包含:常量、直接量、关键字、变量;   

   PS:直接量就是直接出现中程序中的常数值。 1.23  数字直接量   "hello"  字符串直接量

5、关键字和保留字的区别:关键字就是JS中已经使用了,具有一定意义的字符。 保留字就是预留的关键字,现在可能不是关键字,可能以后会成为关键字的。

6、对象和数组初始化表达式实际上就是创建一个新的对象或者数组。也称作:对象直接量、数组直接量,然而他们并不是原始表达式。

7、数组初始化,如果中间没有值,可以直接省略;

   var myArray = [1,2,,,3];  //中间省略了两个值,会自动填充为undefined

   var myArray = [1,2,];  //如果最后以 逗号 结束,将不会填充undefined

8、函数定义表达式:也叫做 函数直接量;

   var myFunc = function(x){return x*x;}  //这个函数的作用是,返回一个数的平方

9、属性访问表达式: 得到一个对象属性或者一个数组元素的值。

   ->直接用 “点” 或者 [] 来得到值

   ->注意:用“点”来访问时,属性名不能是保留字、关键字、包含空格和标点符号;

10、调用表达式:调用函数或者方法的一种表现形式。 如:alert('hello')

    ->如果调用的函数使用return返回一个值,那么这个值就是整个调用表达式的值。否则就是undefined

原文地址:https://www.cnblogs.com/lanleiming/p/5167018.html