JavaScript的基础知识点总结(上)
程序员文章站
2024-02-16 10:46:22
...
这是之前学习JavaScript过程中自己总结的相关的知识点,比较零散但分享出来和大家一起学习学习。
-
6种数据类型
- 当尝试把基本类型的str当做对象一样访问时,例如:str.length;
解释器会创建一个临时的包装对象,伪代码:
[[tempObj]] = new String(str);
[[tempObj]].length; // 返回具体的length;
delete [[tempObj]]; // 销毁临时对象
重复访问str.length会重复创建这个临时对象。
所以str.t赋值可以成功,但再次访问str.t返回undefined,因为每次创建的临时包装对象都是不同的。 -
判断类型
4. 表达式
5. delete 删除对象的属性
6. 运算符
7 . 遍历数组不要使用for in
8 . 对象的结构:prototype是指对象的原型
obj.z(先在属性里面找,没有找到再在原型里面找);
9 . 对象的原型链:
Object.create方法是把属性值创建在proto原型上的。
10.巧用运算符&&去取得属性的值
&&从左至右寻找,没有则返回undefined,有则返回相应的值
11.全局、局部变量、函数(方法)都不能被delete
-
属性检测
cat.propertyIsEnumberable(‘legs’):判断属性是否是枚举的
Object.defineProperty(cat,‘price’):通过这种方法创建的属性它的属性(例如Enumberable)
都是false的。
13.null == undefined(true)
14.小节: - 对象创建的三种方法:①字面量方法创建对象②原型链方法(new方法)创建对象③create方法创建对象
- 属性的删除用delete,而全局变量,局部变量,函数这些是不能够被删除的。
- 属性的检测。object.defineProPerty。
- 属性的枚举,①object.propertyIsEnumerable(“x”) //false;
- object.create() //true
- obj.hasOwnProperty(key) console.log(key) 则返回创建的元素