//我们创建每个函数默认都有一个prototype(原型)属性,这个属性是一个对象
//1.我是普通的构造方法,我的属性叫实例属性,我的方法叫实例方法
/*
function Box(name,age){
this.name=name;
this.age=age;
this.run=function(){
return this.name+'--'+this.age;
}
}
*/
//2.原型中的属性叫原型属性,原型中的方法叫原型方法
function Box(){
Box.prototype.name='gao';
Box.prototype.age=23;
Box.prototype.run=function(){
return this.name+'-'+this.age;
}
}
var box1=new Box();
var box2=new Box();
console.log(box1.run==box2.run);//原型方法地址是共享的返回true
//3.prototype和__proto__的关系
console.log(box1.prototype);//这个属性是一个对象,访问不到
console.log(box1.__proto__);//这个属性是一个指针指向prototype原型对象
//4.constructor属性
console.log(box1.constructor);//构造属性,可以获取构造函数本身,作用是被原型指针定位,获得构造函数本身,可以叫做javascript原型链
//5.底层中constructor,prototype,__proto__相互串联工作
//6.判断一个对象是否指向了该构造函数的原型对象.bool返回值
console.log(Box.prototype.isPrototypeOf(box1));
//7.原型中执行顺序,优先执行实例属性和方法,然后才在原型中查找
//8.删除实例/原型对象的属性
//box1.name='wang';
//delete box1.name;
//delete Box.prototype.name;
//9.对象自身(不包括原型链)是否具有指定名称的属性如果有,返回true否则返回false
console.log(Box.hasOwnProperty('age'));
//10.in 操作符能够检查一个属性是否在一个实例或者原型中.有true,无false
console.log('age' in box1); window.setInterval(method,time)方法本身会返回一个资源句柄,使用clearInterval(Intervalid)方法即可清除定时器<script> var num=0; //每隔1秒再控制台输...
TmodJS是一套完整的前端模块框架。 虽然我们PHP框架自带各种模板引擎,但是始终是后端模板引擎。例如我们在使用ThinkPHP3.2.3中如果是Ajax异步加载页面,拼接HTML真的是很头疼的一件事情。...
查看文章前你需要了解以下2点://1.this指向的是windows对象,通过console.log(this)可以查看到对象包含所有的方法和属性//2.全局变量属于this对象的属性通过console.log(this)可以查看到对象包含我们设置的全局变量我们经常在创建相同结构的Js对象会重复的设...
rem原理和简介(1).字体单位单位的值是根据html根元素大小而定,同样可以作为宽度高度单位(2).适配原理将px替换为rem,动态修改html的font-size适配(3).单位1rem=16px,why? F12中1rem在computed中font-size属性中会显示为font-size:...
var的作用域是全局的,let的作用域是块级的,直接看代码(其他的小区别忽略):<script type="text/javascript"> for (var a = ...
在es5的时候变量只能通过+号拼接,es6种允许将变量放在大括号之中。有点类似php和c#对字符串的操作。 <script type="text/javascript"> &n...