javascript的变量都是非类型的,可以存放任何变量。变量的声明需要在变量名称前面加上var。
变量声明后,在未被赋值之前,其值是undefined。如果使用的变量没有被定义,会产生一个错误。如果变量声明时前面没有添加var,则变量被隐式创建为全局变量。
变量的作用域
变量在一个作用域范围内被声明,则在这个范围内任意地方都可以使用,在未初始化之前值为undefined。
表达式和运算符
相等运算符(= =)和等同运算符(= = =)
in运算符要求左边的可以转化字符串,右边是一个对象或者数字
instanceof判断对象实体是否是指定类型。
new,对象创建运算符
delete,删除运算数指定的对象的属性,数组元素,或变量。
多次使用var声明同一个变量,相当于赋值的作用。
变量的作用域没有块级作用域,只有局部作用域和全局作用域。
javascript的运行环境就是一个全局对象,所有的全局变量都是它的属性。
在局部使用的变量如果在局部不能找到它的声明和赋值,则往上一级的作用域去寻找,一直迭代找到,如果迭代到全局还没找到,则返回undefined。
形象的讲,就是js结构是树形结构,根节点由系统创建,我们来扩展这棵树,增加子节点。
运算符参照java和c