js 0224总结

主要学习了第四章和第五章前两节。
一、数据类型
1.基本数据类型(值)
String、Number、Boolean、Null、Undefined;
可以操作保存在变量中两种的实际值。
2.引用数据类型
Object、Array、Function;
按引用访问。
3.二者差异:
基本数据类型 可以操作保存在变量中两种的实际值。保存在栈内存中。
引用数据类型 按引用访问。保存在堆内存中。
在复制变量值的时候:
基本是重新分配空间,将值复制给新对象,两个对象相互独立。
引用 相当于c++中的指针,指向的是同一个对象,改变对象1的时候,对象2 也会改变。二者相互影响。
二、传递参数
函数参数传递全部为按值传递
1.在传递基本数据类型时,相当基本类型变量的复制。函数外部的变量不会因函数操作改变。
2.而在传递引用型时,局部变量的变化会影响外部
三、检测类型
1.typeof
可确定变量是字符串、数值、布尔值、undefined;
如果是null;则返回object;
2.instanceof
变量为引用类型,则返回true;
但在检测object构造函数时,instanceof返回true;
typeof返回function;
四、执行环境与作用域
执行环境有全局执行和函数执行2种;
1.全局环境只能访问全局环境中定义的变量和函数,不能访问局部中定义的;
局部环境则可以访问自己作用域中定义的,还可以访问父环境和全局环境;
2.没有块级作用域
与c++不同,在花括号内定义的变量,遇到右花括号则变量生命期结束,被销毁,js中不一样,括号语句结束后仍然可以访问其值。
没有用var声明的变量则会自动添加到全局环境中。
五、垃圾收集
js自动收集,不用手动。
六、引用类型
Object,Array,Date,RegExp;
数组:
有些操作与数据结构中类似。比如栈,可以用push()返回修改后的数组长度。,pop(),返回被删除的最后i一个元素。还有队列,用shift()删除开始的
元素。

猜你喜欢

转载自blog.csdn.net/weixin_43913556/article/details/87905155
今日推荐