-
通过Object.getOwnPropertyDescriptor(Object, 'prototype')获取一个属性中的所有标签。(Object的prototype属性)查看全部
-
属性标签查看全部
-
Object.prototype.toString.apply([])查看全部
-
往父类去找prototype是不是一样查看全部
-
类型检测查看全部
-
原型链解析查看全部
-
var obj = Object.creat(argument); argument一般为一个对象,可以使创建的对象原型指向creat的对象。查看全部
-
没听懂,回头试查看全部
-
原型链查看全部
-
mark查看全部
-
对象创建 (1)字面量 var obj1={x:1,y:2}; (2)new/原型链 function foo(){} foo.prototype.z=3; var obj=new foo(); // new的好处:原型会指向prototype属性 obj.x=2; obj.y=1; obj.x; //1 obj.y;//2 obj.z;//3 typeof obj.toString //'function' 解释了为啥基本的js对象都有toString,因为大多数原型链的末端都有obj.prototype; 'z' in obj; //true obj.hasOwnProperty('z'); //false 表示z并不是obj对象上的 而是obj原型链上的; 注:若在obj对象上赋值给某个属性,只会添加或者修改obj对象上的属性的值,不会改变原型链上同属性的值;delete删除只会删除对象上的属性和值,不会删除原型链上的属性和值,这就是原型链的继承; (3)Object.create var obj=Object.create({x:1}); obj.x;//1 typeof obj.toString //function 用字面量创建的对象也有原型,原型指向obj.prototype obj.hasOwnProperty('x')//false 并不是所有的对象上都有toString,因为并不是所有的对象上都有obj.prototype var obj=Object.create(null); obj.toString; //undefined;查看全部
-
1.对象中包含一系列的属性,这些属性是无序的。 2.每个属性都有一个字符串key和对应的value;(注:无论对象的key是什么类型的,最后js都会默认调用toString转换成字符串类型) 3.标签:①[[proto]]每个对象都有一个原型,如果在对象中没有此属性,就会一直沿着原型链查找②[[class]]表示对象属于某类③[[extensible]]是否允许继续增加新的属性查看全部
-
JS的严格模式: 定义和优点:严格模式是一种特殊的执行模式,它修复了部分语言上的不足(禁用with),提供了更强的错误检查(重复属性,删除delete不可配置的属性等),并增强了安全性(在eval中使用独立作用域等); 模式的使用: (1)function func(){'use strict';}好处:向上兼容 (2)'use strict'; function func(){}指定整个js内的代码都是在严格模式下 与普通模式的区别: 在严格模式下,①不允许使用with;②不允许未声明的变量被赋值③arguments变为参数的静态副本,不管参数传与不传,对arguments无影响,但是对象的属性除外;④delete参数,函数名报错⑤delete不可配置的属性报错⑥对象字面量重复属性名报错⑦禁止八进制字面量⑧eval,arguments变为关键字,不能作为变量、函数名⑨eval变为独立作用域,其它地方不可以拿到eval的值;查看全部
-
①try-catch是异常捕获机智,当try抛出异常时,catch语句被执行,否则catch被忽略;但是最后都会执行finally语句 ②try后面必须要跟随一个catch或者是finally,三种形式:try-catch;try-finally;try-catch-finally; ③应用场景;(1)在try-catch里面,try嵌套一个try-finally,并且try抛出异常。先执行里面的finally然后执行外围的catch,最后抛出异常;(2)在try-catch里面,try里面嵌套一个try-catch-finally,并且try抛出异常。首先执行内部的catch语句,并抛出异常,最后执行finally;(此时外围的catch语句被忽略)(3)在try-catch语句里,try嵌套一个try-catch-finally,并且内部的try和catch都抛出了异常。此时先执行内部的catch语句抛出异常,执行finally语句,最后执行外部的catch语句抛出异常。 ps:如果内部的异常没有处理抛给外面,在外面处理之前要执行内部的finally语句查看全部
-
typeof适合基本类型及function检测,遇到null失效 {}.toString适合内置对象和基本类型,遇到null和undefined失效 instanceof适合自定义对象,也可以用来检测原生对象,在不同iframe和Window间检测失效查看全部
举报
0/150
提交
取消