var hero = { _name: 'John Doe', getSecretIdentity: function (){ return this._name; } }; var stoleSecretIdentity = hero.getSecretIdentity; console.log(stoleSecretIdentity()); console.log(hero.getSecretIdentity()); 将 getSecretIdentity 赋给 stoleSecretIdentity,等价于定义了 stoleSecretIdentity 函数: var stoleSecretIdentity = function (){ return this._name; } stoleSecretIdentity 的上下文是全局环境,所以第一个输出 undefined。若要输出 John Doe,则要通过 call 、apply 和 bind 等方式改变 stoleSecretIdentity 的this 指向(hero)。 第二个是调用对象的方法,输出 John Doe。 25、给你一个 DOM 元素,创建一个能访问该元素所有子元素的函数,并且要将每个子元素传递给指定的回调函数。 函数接受两个参数: 原文利用 深度优先搜索(Depth-First-Search) 给了一个实现: function Traverse(p_element,p_callback) { p_callback(p_element); var list = p_element.children; for (var i = 0; i < list.length; i++) { Traverse(list[i],p_callback); // recursive call } } 以上就是为大家分享的25个JavaScript面试题,希望对大家参加面试有所帮助。 您可能感兴趣的文章: (责任编辑:每日一笑) |