-
instanceof查看全部
-
defineProperty查看全部
-
实例化后,修改,再实例化,才会改变查看全部
-
原型链之间的关系查看全部
-
原型链继承查看全部
-
obj查看全部
-
严格模式查看全部
-
易错点查看全部
-
1、属性访问,点操作或者中括号(内部自动砖成字符串), 建议用点。但是如果是要拼的话用中括号。用for in会把原型链的读出来。 2、访问不存在属性,进行原型链查找,末端找不到,会undefined。 3、写属性,有的话就修改,没的话就新创建并赋值。 4、delete 删除属性,重复删除同一个属性,任然返回true。所以delete并不代表操作成功或者失败了,而是说还有没有这个属性值。prototype不能被删除。 5、configurable:是否可配置。getOwnPrototypeDescriptor(obj,属性) 6、var 定义的都不可以删除。函数和函数的函数都不可以被delete掉。隐式创建的变量可以删除(不推荐的语法)。 7、in操作符会向原型链向上查找的,hasOwnProperty自己有没有(用在for in判断过滤原型上的属性)。 8、Enumera不了:是否可枚举。 9、object.defineProterty创建的对象他对应的属性默认false。而字面量和new和赋值而创建的对象的默认的是true 10、!=undefined。就是不等于null和undefined、查看全部
-
对象构造: 除了本身被赋予的值之外,对象还有几个隐藏标签: proto:对象的对象属性prototype上的赋值 class:对象的种类 extensible:是否允许该对象继续增加新的属性 另外对象的值(如 x=1),也有对应的属性或方法,提供一些访问权限的控制 writable:是否可写 enumerable:是否能被删除 configurable:是否能够枚举 value:值 get/set:查看全部
-
JS的严格模式: 定义和优点:严格模式是一种特殊的执行模式,它修复了部分语言上的不足(禁用with),提供了更强的错误检查(重复属性,删除delete不可配置的属性等),并增强了安全性(在eval中使用独立作用域等); 模式的使用: (1)function func(){'use strict';}好处:向上兼容 (2)'use strict'; function func(){}指定整个js内的代码都是在严格模式下查看全部
-
try语句如果抛出异常,则执行catch语句,否则不执行,无论有没有异常,都执行finally语句;try语句必须跟catch或finally语句中至少一个组合使用。 try catch语句的嵌套语句执行顺序: 1)如果内部嵌套的try语句抛出异常,但内部没有相配套的catch语句,先执行内部的finally语句,然后跳到最近一层的catch语句执行。 2)如果内部嵌套的try语句抛出异常,内部有相配套的catch语句,先执行此语句处理异常,再执行内部的finally语句。不会再在外部处理异常。 3)如果内部嵌套的try语句抛出异常,内部有相配套的catch语句,并且catch语句也抛出异常,如果内部的catch语句有对异常的处理,先执行异常处理语句,然后执行内部的finally语句,最后执行离内部catch语句抛出异常最近一层的catch语句处理异常。查看全部
-
以{}组成块block,常用于for循环和if判断语句中,要注意没有块级作用域,比如for循环中var i=0;写在()内和写在for循环外面是一样的;还是属于全局变量; 在函数内定义 var a=b=1;会隐式定义出全局变量b;在函数外获取不到a,为undefined,但可以获取到b 在ES6面试之后有了let,即开始有了块级作用域查看全部
-
特殊运算符的种类: 1、条件运算符 c?a:b c为true 则取a,否则取b 2、逗号运算符 a,b 例如 var s = (1,2,3),则s依次赋值,最后输出为3 3、delete运算符 delete obj.x 删除对象obj中的x属性 在IE9下,obj中必须configurable:true 才可以删除,否则无效 4、in运算符 判断obj是否有值或window里是否有变量,返回布尔值 例如 attr in json 或 'document' in window 5、instanceof 判断对象类型 {} instanceof Object // true(返回布尔值) 6、new运算符 创建一个新对象 new obj / new array ... 7、this对象 全局用指向window,函数内指向函数本身,浮动指针 8、typeof 判断对象,返回对象类型 例如 typeof 100 === 'number' // true(判断对应类型字符串) 9、void 一元的,判断所有值,返回均为undefined 一般delete 运算符可以删除对象的属性,而如果使用方法Object.defineProperty(对象,'属性',{configurable:false})处理了对象,该属性就不会被删除,反之ture就是可以被删除。查看全部
-
1. 原始表达式 //常量、直接量、关键字、变量 3.14、"test"、null、i、k、j 2. 初始化表达式 //[1,2]、{x:1, y:2} 3. 函数表达式 //var fe = function(){}、(function(){})() 4. 属性访问表达式 //var o = {x:1}、o.x、o['x'] 5. 调用表达式 //func() 6. 对象创建表达式 //new Func(1,2)、new Object查看全部
举报
0/150
提交
取消