最近面试中,javascript中的this用法,自己测试结果如下
测试环境:360快速浏览器,firefox
var a = 2; var obj = { a : 1, getA : function(){ return this.a; } }; console.log(window.a + "+++"+a+"---result ==== "+obj.getA());//2+++2---result ==== 1 b = 2; var obj2 = { b : 1, getB : function(){ return this.b; } }; console.log(window.b + "+++"+b+"--result ==== "+obj2.getB());//2+++2--result ==== 1 (function(param){ param = param || {}; var obj_a = param.A, obj_b = param.B; console.log(window.a + "+++"+a+"--result ==== "+obj_a.getA());//2+++2--result ==== 1 console.log(window.b + "+++"+b+"--result ==== "+obj_b.getB());//2+++2--result ==== 1 })({A:obj,B:obj2}); (function(param){ param = param || {}; b = 3; a = 4; var obj_a = param.A, obj_b = param.B; console.log(window.a + "+++"+a+"--result ==== "+obj_a.getA());//4+++4--result ==== 1 console.log(window.b + "+++"+b+"--result ==== "+obj_b.getB());//3+++3--result ==== 1 })({A:obj,B:obj2}); (function(param){ param = param || {}; var b = 3, a = 4; var obj_a = param.A, obj_b = param.B; console.log(window.a + "+++"+a+"--result ==== "+obj_a.getA());//4+++4--result ==== 1 console.log(window.b + "+++"+b+"--result ==== "+obj_b.getB());//3+++3--result ==== 1 })({A:obj,B:obj2}); console.log("////////////////函数声明中this用法///////////////////////////"); function FunTest(name){ this.name = name; } FunTest.age = 18; FunTest.getStaticAge = function(){ return this.age; } FunTest.prototype.getName = function(){ return this.name; } console.log("--result ==== "+new FunTest("Tom").getName());//--result ==== Tom console.log("--result ==== "+FunTest.getStaticAge());//--result ==== 18
相关推荐
基于 JavaScript 面试题的知识点总结 下面是根据提供的文件信息总结的 JavaScript 相关知识点: 基本数据类型: * JavaScript 中的基本数据类型有 Undefined、Null、Number、String、Boolean、Symbol、BigInt 等...
JavaScript 高级知识点总结 JavaScript 闭包(Closure) ------------------------ 闭包是指有权访问另一个函数作用域中变量的函数。闭包的创建方式是,在一个函数内创建另一个函数,通过另一个函数访问这个函数的...
在JavaScript中,`this`关键字是一个非常关键的概念,尤其在前端开发中,理解其工作原理对于解决复杂问题至关重要。本文将详细阐述`this`...在面试中,对`this`的深入理解是评估开发者JavaScript技能的重要指标之一。
总结起来,理解和熟练掌握JavaScript中的对象和函数,包括它们的创建、属性操作、方法调用以及`call()`和`apply()`的使用,对于参加JavaScript面试至关重要。这些基础知识是JavaScript开发者日常工作中必不可少的...
- **使用 `call` 或 `apply` 方法调用**:`this`指向传入的第一个参数。 - **非严格模式下独立调用**:`this`通常指向全局对象(`window`在浏览器环境下)。 - ES6中的箭头函数改变了`this`的行为,使`this`的值由定义...
duction方法赋值给了其他变量other或者作为其他对象的数据属性,这时调用时this的指向就会发生变化。...通过熟悉上述规则和场景,能更好地掌握JavaScript中this的用法,从而在实际开发和面试中游刃有余。
JavaScript中的`this`关键字是一个非常重要的概念,它在不同场景下的指向可能会有所不同,这使得理解和掌握`this`的用法成为前端开发人员必备的技能。本文将深入探讨`this`在JavaScript中的各种情况下的指向。 1. ...
总结来说,通过使用两个栈,我们能够有效地模拟队列的操作。当需要入队时,将主栈中的所有元素转移至辅助栈,然后将新元素压入辅助栈,最后将辅助栈中的元素全部回推至主栈。而出队时,直接从主栈顶部弹出即可。这种...
本文档总结了前端大厂2020年的面试题目,涵盖了前端开发中的各种知识点,涉及到浏览器的工作机制、HTTP缓存机制、JavaScript异步执行顺序、CSS样式布局、this关键字的使用等多个方面。 一、浏览器从输入URL到页面...
### JavaScript 面试问答 (2023) – 高级 #### 1. 什么是JavaScript中的“严格”模式以及如何启用它? 严格模式(`strict mode`)是ECMAScript 5引入的一项新特性,旨在改善JavaScript的健壮性和安全性。在严格模式...
前端大厂最新面试题-alibaba (1) 本文将对前端大厂最新面试题-alibaba (1)的内容进行详细的解读和...本文对前端大厂最新面试题-alibaba (1)的内容进行了详细的解读和分析,为读者提供了一个系统的知识点总结和讲解。
- 它还具有不同于常规函数的作用域特性——箭头函数中的 `this` 是基于上下文决定的。 - 示例: ```javascript const add = (a, b) => a + b; console.log(add(1, 2)); // 输出 3 ``` 4. **Spread 和 Rest ...
前端开发面试知识点总结 一、CSS 选择器优先级排序 CSS 选择器的优先级排序是 CSS 中的一个重要概念。 CSS 选择器的优先级是指浏览器在应用 CSS 样式时的优先顺序。优先级高的选择器将覆盖优先级低的选择器。常见...
在web前端面试中,高频考点通常涉及对JavaScript语言核心概念的深刻理解和实践应用能力。以下是根据提供的文件内容总结的知识点: 1. typeof类型判断与instanceof的使用 - typeof操作符用于判断数据类型,对于原始...
以下是前端大厂最新面试题的知识点总结: 一面 1. CSS3 动画 CSS3 动画是指使用 CSS3 来实现动画效果的技术。它可以通过使用 @keyframes 规则来定义动画的每一帧,并使用 animation 属性来应用动画。动画可以实现...
在准备HTML、CSS和JavaScript的面试时,理解并掌握这些技术的基础知识以及它们在实际项目中的应用至关重要。面试官通常会考察候选人的理论知识、实践经验、问题解决能力以及对最新技术趋势的了解。以下是一些关键...
call()和apply()是JavaScript中两个常用的函数调用方法,用于改变函数的this指向和传递参数。 * call():调用一个函数,并将其this指向改变为指定的对象,参数将被作为单独的参数传递给函数。 * apply():调用一个...
下面是对 JavaScript 面试题的总结,涵盖了基础知识、数据类型、变量、函数、执行上下文、作用域、this 指向等多个方面。 一、数据类型 JavaScript 中的数据类型可以分为基本数据类型和引用数据类型两大类。基本...
Vue面试题总结 Vue是一款流行的前端框架,以下是常见的Vue面试题和答案: 1. Vue的优点? 答:轻量级框架、简单易学、双向数据绑定、组件化、视图、数据、结构分离、虚拟DOM、运行速度更快。 2. Vue父组件向子...