1.js 是动态语言,因为变量类型只会在执行时候才被确定类型。不同于C在声明就确定了变量的类型。
2.undefined 和 null区别:
利用Boolean()计算后都返回false一个值;
都没有方法;
null是关键字undefined不是关键字;
null是对象,undefined是基本类型,还是windows属性,在值的时候消耗行性能;
null初始化的,undefined是未初始化;
null转化数字0 ,undefined是NAN;
还有一个是我自己发现的undefined是不可写入的;
3.对象和原始数据类型区别:
对像是属性和方法,数据类型没有。
对象可变和数据类型不可变(只能重新赋值)。
独立的对象不相等(引用关系比较),类型是比较值的大小。
4.对象分类:
内部对象:很多17个
宿主对象:document window
5.自定义对象:程序员自己定义的对象
任何数据类型转化为对象:object()
布尔转化为对象永远是true;
undefine和null 利用object 转化都会是空;
6.返回false值得有:udefined null 0 -0 NAN;
7.对象转化原始数据类型:
布尔对象转化为布尔类型,都会是真。alert(Boolean(new Boolean(false)))。
valueof()返回原始值。
toString()转化为字符串。
8.创建对象
对象直接量,()和new 操作符
9.属性查询:.和[]
.或者[]来查询,遇到.或[],会先判断前面的对象是不是null或者undefined ,是null和undefined则会报错。如是个对象直接操作了,如果不是是个基本类型会转化为对象。.会直接返回属性名字,而[],会首先计算[]里面的,结果转化为字符串再返回给你。
10.表达式
表达式6种,原始表达式:常量(pai 纯大写字母写的),变量,直接量,关键字
初始化表达式:直接量{}
函数定义表达式 :functon ab(){}
函数调用表达式: ab()
属性访问表达式:.[]
对象创建表达式:new