call和apply的区别 函数的继承 新增选择器

call和apply的区别

二者都可以改变当前的this,区别在于apply方法要将参数放入数组中再传参

function aa(a,b){

alert('我的this是' + this + ',我的a是' + a + ',我的b是' + b);

}

//我的this是[object Window],我的a是2,我的b是3

// aa(2,3);

//我的this是abc,我的a是2,我的b是3

// aa.call('abc',2,3);

//我的this是abc,我的a是2,我的b是3

aa.apply('abc', [2,3]);

函数的继承

function Fclass(name, age){

this.name = name;

this.age = age;

}

Fclass.prototype.showName = function(){

alert(this.name);

}

Fclass.prototype.showAge = function(){

alert(this.age);

}

//子类

function Sclass(name, age, job){

//属性用call或者apply的方式来继承

Fclass.call(this, name, age);

this.job = job;

}

//方法继承:将父类的一个实例赋值给子类的原型属性

Sclass.prototype = new Fclass();

Sclass.prototype.showJob = function(){

alert(this.job);

}

//由于已经继承了父类的属性和方法,所以可以直接调用

var Driver = new Sclass('tom',18,'老司机');

Driver.showName();

Driver.showAge();

Driver.showJob();

新增选择器

window.onload = function(){

var oDiv = document.querySelector('#div1');

alert(oDiv);//弹出[object HTMLDivElement],表示选择了该Div

//如果要选择多个元素用querySelectorAll

var aLi = document.querySelectorAll('.list li');

alert(aLi.length);//8

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 草木皆兵 【拼音】: cǎo mù jiē bīng 【解释】: 把山上的草木都当做敌兵。形容人在惊慌时疑神疑鬼。...
    八哥学堂阅读 206评论 0 1
  • 10月10日晚,浙江大学2016级化工博士,26岁的候某,选择了一条从浙大玉泉校区,走向钱塘江的末路。 ...
    矜扬言阅读 3,796评论 0 1
  • 文 王小马 图 网络精选 有个说法,当你回忆到一个地方的小吃,就说明你开始把这里当做你亲近的地方了,甚至精神故乡!...
    怡儿话书影阅读 256评论 1 1
  • 1.沪市3154.28点(昨日3169.57点),下跌15.29点,成交1505.99亿元(昨日1746亿),成交...
    曾文龙妙善证阅读 100评论 0 0
  • 铲屎官能用来做什么?顾名思义,可以用来铲屎。 当然也有很多拓展作用。比如可以用来喂饭——铲屎完毕之后请先洗手再喂饭...
    李拜天lee阅读 15,283评论 5 13