栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > web前端

天猫Web前端电话面试(2015/7/2)

web前端 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

天猫Web前端电话面试(2015/7/2)

1.js中的this

没回答太好,只说了谁调用它就指向那个函数,还可以用apply,call去改变指针指向

在函数执行时,this 总是指向调用该函数的对象。要判断 this 的指向,其实就是判断 this 所在的函数属于谁。在《javascript语言精粹》这本书中,把 this 出现的场景分为四类,简单的说就是:1.有对象就指向调用对象    var a = {        name : '周恩来',        getName:function(){ console.log(this.name)        }    }    a.getName(); // -->this指向a2.没调用对象就指向全局对象    this.name = '周永康'; // ---> this指向全局对象 window3.用new构造就指向新对象    function Do(){        this.name = '毛泽东';    }    var laRou = new Do();    this指向laRou    假如没有使用关键字new去构造一个函数,而是直接调用Do(),那此时的this是指向全局window的    因此立即执行函数的this也是指向window的4.通过 apply 或 call 或 bind 来改变 this 的所指。    var a = {        name : '周恩来',        getName:function(){ console.log(this.name)        }    }    var b = { name:'林彪' };    a.getName.call(b) // ---> '林彪',this指向b

2.inline-block的兼容性

3.作用域链

作用域链主要是js语句执行时,按照什么样的顺序去查找变量。

var name = "毛泽东" ;var obj = {name:'周恩来'}function t(){  var name = "江青"  function inner(){    var name="毛新宇" ;    console.log(name);  }  inner();}t(); // 当执行console.log(name)时,name变量的查找顺序是 inner-->t-->windowwith语句可以更改作用域链,比如把console.log(name)换成with(obj){  console.log(name)}name变量的作用域链就变成 with-->inner-->t--->window也就说先从当前上下文环境跳转到with的参数对象,再回到正常的作用域链

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/274263.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号