一:Object.prototype.toString.call(param) 可以用来判断传入参数的构造类型 在toString方法被调用时,会执行下面的操作步骤: 1 如果this的值为undefined,则返回"[object Undefined]". 2 如果this的值为null,则返回"[object Null]". 3 让O成为调用ToObject(this)的结果. 4 让class成为O的内部属性[[Class]]的值. 5 返回三个字符串"[object ", class, 以及 "]"连接后的新字符串. 可以看出,比ES3多了1,2,3步.第1,2步属于新规则,比较特殊, 因为"Undefined"和"Null"并不属于[[class]]属性的值。经统计,可返回的类型有"Arguments", "Array", "Boolean", "Date", "Error", "Function", "JSON", "Math", "Number", "Object", "RegExp", "String"比ES3多了2种分别是arguments对象的[[class]] 二:引用对象其实就是函数对象 Array.constructor ==Function.constructor true String.constructor ==Function.constructor true Object.constructor ==Function.constructor true 三:每个function定义的对象有一个prototype属性,prototype属性是指向 prototype对象的,而每个prototype对象都有一个constructor属性,每个constructor属性又指向一个constructor对象也就函数本身。 使用new生成的对象就没有这个prototype属性。 四:深度克隆:(这个函数还是非常不完善的。) var cloneObj = function(obj){ var str, newobj = obj.constructor === Array ? [] : {}; if(typeof obj !== 'object'){ return; } else if(window.JSON){ str = JSON.stringify(obj), //序列化对象 newobj = JSON.parse(str); //还原 } else { for(var i in obj){ newobj[i] = typeof obj[i] === 'object' ? cloneObj(obj[i]) : obj[i]; } } return newobj; };
相关推荐
javascript知识点汇总
知识点 参考 The Eloquent JavaScript, The Pro MERN Stack
采用xmind框图导出,特别直观清晰的将javascript的知识点总结了一遍!从基本的变量到函数、对象、事件等等总结的十分全面。
JavaScript 语言基础知识点思维导图
本文包括JavaScript的部分基础知识的总结
对JavaScript语言基础知识点的总结,整理出十张思维导图
JavaScript知识点思维导图,如JavaScript DOM基本操作,JavaScript数据类型,JavaScript数组等
JavaScript知识点总结文档,javaScript需要掌握的基本只是内容汇总,一起学习,一起进步
JavaScript入门知识点 知识点十分清晰 初学者非常适合看 刚开始学习这个 有必要看看 获得一个大概了解
javascript 知识点图解 JavaScript 数据类型 、JavaScript 变量、Javascript 运算符、JavaScript 数组、JavaScript 函数基础、DOM 基本操作、Window 对象、JavaScript 字符串函数、正则表达式
javascript知识点总结《一》
JavaScript知识点个人总结
JavaScript语言基础知识点总结,考过试的童鞋都知道什么叫知识点总结吧,很实用哦。是图片格式的因为用思维导图做的
JavaScript基本知识点笔记.doc
JavaScript 语言基础知识点总结(思维导图10张)
JavaScript笔记知识点整理图文.pdf
JavaScript字符串函数大全 JS自带函数
javaScript标签知识点.pdf
一个学习javascript的知识点
初阶Javascript的知识点学习总结