bill是 Employee类型的实例,_proto_指向Employee.prototype Employee.prototype有一个constructor属性,指向Employee函数自身 function employee 就是一个函数类型的对象了,有标准的arguments.caller.length(参数个数).prototype等属性, 它的prototype跟bill._proto_指的是同一个对象. 因为每个对象都有_proto_属性,指向这个对象的创建函数的prototype…
js 对象呢,有个属性叫_proto_,以前没听说过,也没关注,最近看这个原型,就被迫知道了这个东西,js 这里面的东西,真是规定的很奇怪,具体为啥也不知道,就测试发现的,对象的_proto_属性,和创建这个对象的构造函数的prototype是一个东西. 例子 function  Fn(){ } var o=new Fn(); console.log(o._proto_===Fn.prototype);//true 得出结论,他俩确实相等,按理说啊,这个对象的_proto_属性只能和创建他的这个…
对象 基本数据类型都是单一的值,值和值之间没有任何联系,变量之间独立,不能成为一个整体. 对象属于一种符合的数据类型,对象中可以保存对个不同数据类型的属性. 对象分类:  1.内建对象   由ES标准中定义的对象,在任何的ES的事项中都可以使用:Math String Number Bollean Function Object  2.宿主对象   由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象:BOM(浏览器对象模型) DOM(文档对象模型)  3.自定义对象   由开发人员创建…
 <script language="javascript">   var myNameSpace = new Object(); //构造一个命名 空间myClass   //类的属性   myNameSpace.names="cnscn";   myNameSpace.age="30";   myNameSpace.ClassPersons=function(argName,argAge){ //构造类名,即构造函数     …
遇到一个面试题 要求写一个函数A,每次进行new操作时候能输出2,3,4,5... new A() // 输出2 new A() // 输出3 new A() // 输出4 function A() { this.a++ console.log(this.a) } A.prototype.a = 1 这样写是错误的,因为实例化对象中的a属性并不是原型上的引用,而是把原型上的a给拷贝了一份给a. 所以这样每次输出都是2. 正确答案: function A() { this.__proto__.a+…
/** * javascript Date format(js日期格式化) * 对Date的扩展,将 Date 转化为指定格式的String 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 例子: (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 (ne…
对象概述 Objects are mutable keyed collections.  An object is a container of properties, where a property has a name and a value.  A property name can be any string, including the empty string.  A property value can be any JavaScript value except for und…
__proto__和prototype属性: 1.__proto__属性: 在JS里,万物皆对象(函数是对象.原型也是对象...).对象都具有属性__proto__,这个属性会指向该对象的原型. 2.prototype属性: 除此之外,函数(Function)也是对象,而且函数除了上面说的__proto__这个属性外,还有额外的一个prototype属性.函数的 prototype 属性指向了一个对象,这个对象正是调用该构造函数而创建的实例的原型,也就是下面例子中的 person1 和 pers…
定义一个函数做的两件事:1: 实例化一个Function对象:2: 实例化一个Object对象,并给该函数扩展prototype属性指向这个构造函数 大致过程如图所示: 每一种引用类型(函数,对象,数组)都有__proto__属性,并且其__proto__属性指向其构造模板的prototype(原型对象). 函数比较特殊,定义一个函数,分为上述两个步骤. 验证: <!DOCTYPE html> <html lang="en"> <head> <…
与其他对象相同的是,函数对象中也有一个叫做constructor的属性,其引用就是Function()这个构造函数. function her(a){ return a; } console.log(a.constuctor); //function her(a){ // return a; //} 另外函数也有一个length属性,用来记录该函数声明时的参数的数量. function her(a,b, c){ return a+b+c; } console.log(her.length); p…