假设我有如下JavaScript代码
myClass = function(){
function doSomething(){
alert(this); // this1
}
}
alert(this); //this2
这两个“ this”对象是指什么?
this
全局执行上下文中的值引用全局对象,例如:
this === window; // true
对于功能代码,实际上取决于您如何调用该功能,例如,在以下this
情况下隐式设置该值:
调用没有 基础对象 引用的函数:
myFunc();
该this
值还将引用全局对象。
调用绑定为对象属性的函数 :
obj.method();
该this
值将参考obj
。
使用new
运算符:
new MyFunc();
该this
值将引用从继承的新创建的对象MyFunc.prototype
。
另外,可以在调用函数时使用call
或apply
方法显式设置该值,例如:
function test(arg) {
alert(this + arg);
}
test.call("Hello", " world!"); // will alert "Hello World!"
call
和之间的区别apply
是apply
,您可以使用Array或arguments
对象正确传递任意数量的参数,例如:
function sum() {
var result = 0;
for (var i = 0; i < arguments.length; i++) {
result += arguments[i];
}
return result;
}
var args = [1,2,3,4];
sum.apply(null, args); // 10
// equivalent to call
sum(1,2,3,4); // 10
如果第一个参数的值call
或者apply
是null
或undefined
,该this
值将引用全局对象。
(请注意,将来这会随着ECMAScript 5的变化而改变,call
并apply
在thisArg
不更改的情况下传递值)
问题内容: 给定以下JavaScript“类”定义,这是我想到此问题的最佳方式: 以及以下测试设置代码: 有什么方法可以使用加法运算符隐式创建为对象,如下所示… 而不是求助于… 如果不是,那么在此领域中关于通过算术运算符使自定义数字JavaScript对象可组合的最佳实践建议是什么? 问题答案: 据我所知,JavaScript(至少现在已经存在)不支持运算符重载。 我能建议的最好的方法是使用一个类
主要内容:算术运算符,赋值运算符,字符串运算符,自增、自减运算符,比较运算符,逻辑运算符,三元运算符,位运算符运算符是用来告诉 JavaScript 引擎执行某种操作的符号,例如加号(+)表示执行加法运算,减号(-)表示执行减法运算等,本节我们就来介绍一下 JavaScript 中不同的运算符。 算术运算符 算数运算符用来执行常见的数学运算,例如加法、减法、乘法、除法等,下表中列举了 JavaScript 中支持的算术运算符: 运算符 描述 示例 + 加法运算符 x + y 表示计算 x 加 y
算术运算符以数值(字面量或变量)作为其操作数,并返回一个单个数值。标准算术运算符是加法(+),减法( - ),乘法(*)和除法(/)。—— MDN 算数运算符是用来做算数运算的,如 + 这个符号,就是用来做加法操作。 1. N元运算 N 代表一个数,如一元运算,二元运算。 N元运算 表示由N个值产生一个新的值的规则。 如 * 就是一个二元运算符,他由两个数相乘产生第三个数。 JavaScript
问题内容: 刚刚在下划线的来源中看到了这一点: 怎么办?我以前从未见过。 在开发人员中是否认为这是一种好习惯? 问题答案: 加号将字符串转换为浮点数。您提供的代码等效于以下代码:
本文向大家介绍JavaScript中的运算符是什么?,包括了JavaScript中的运算符是什么?的使用技巧和注意事项,需要的朋友参考一下 让我们采用一个简单的表达式“ 4 + 5等于9”。这里4和5称为操作数,“ +”称为运算符。 JavaScript支持以下类型的运算符。 算术运算符 比较运算符 逻辑(或关系)运算符 赋值运算符 条件(或三元)运算符 例 这是一个说明运算符示例的示例-
问题内容: 我正在处理由以前的开发人员编写的代码,并在查询中说: 这个查询是什么意思?等于吗?还是语法错误? 但是它没有显示任何错误或异常。我已经知道= 在MySQL的。 问题答案: TL; DR 这是安全的相等运算符。 像常规运算符一样,将两个值进行比较,结果为(不相等)或(相等);换句话说:yields 和yields 。 与常规运算符不同,of的值没有特殊含义,因此它永远不会产生可能的结果。