该章节将从以下几个方面来谈论ths的使用环境。1/this和构造器2/this和对象3/this和函数4/全局环境的this5/this和DOM/事件7/me/self/that/_this 暂存this8/ES5 中新增的bind和 this9/ES6箭头函数(arrow function)和 this-- 1/ this和构造器function Tab(nav,content){ this.nav=nav; this.content=content;}Tab.prototype.getNav=function(){ return this.nav;}Tab.prototype.setNav=function(nav){ this.nav=nav;}--2/th...
JavaScript 保留关键字在 JavaScript 中,一些标识符是保留关键字,不能用作变量名或函数名。JavaScript 标准所有的现代浏览器完全支持 ECMAScript 3(ES3,JavaScript 的第三版,从 1999 年开始)。ECMAScript 4(ES4)未通过。ECMAScript 5(ES5,2009 年发布),是 JavaScript 最新的官方版本。随着时间的推移,我们开始看到,所有的现代浏览器已经完全支持 ES5。JavaScript 保留关键字Javascript 的保留关键字不可以用作变量、...
JavaScript中instanceof和typeof 常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的: 一、typeof 1、含义:typeof返回一个表达式的数据类型的字符串,返回结果为js基本的数据类型,包括number,boolean,string,object,undefined,function.语法为typeof(data) 或 typeof data. 我们可以使用typeof来获取一个变量是否存在,如:if(typeof a!=‘undefined‘){
alert(‘‘ok);
}最好不要使用if(a),因为如果...
在js中this始终指向一个调用函数的那个对象 var a=‘有种你干掉我啊‘; //纯粹调用函数 function test(){ console.log(this.a);//默认指向全局对象 } //test();//=>windows.test() //作为对象的方法被调用 Function.prototype.log=function(){ console.log(this.a); } //此时t为一个函数对象,注意js中一切皆为对象,函数是特殊的对象,具有prototype而已 //t函数继承了Function.prototype原型的方法用有log方法 //this指向原理,...
记录学习JavaScript中遇到的知识点This:JavaScript的this总是指向一个对象,而具体指向哪个对象是在运行时基于函数的执行环境动态绑定的,而非函数被声明时的环境。This的指向,大致分为以下四种: 1)作为对象的方法调用,this指向该对象: var obj = {a: 1,getA: function(){alert ( this === obj ); // 输出: truealert ( this.a ); // 输出: 1 }
};
obj.getA();View Code 2)作为普通函数调用,this指向全局对象...
简单js JavaScript 是一个松散性的语言 对象属性却不想c中的结构体或者c++ 和java的对象, 对象继承机制 使用原型的prototype(原型链),js的分为三部分ECMAScript 、文档DOM对象、浏览器BOM对象 1. 核心(ECMAScript) (语法、类型、语句、关键字、保留字、操作符、对象等)Ie6、7、8 第三版(ECMA-262) 兼容 2.文档对象 dom(ie6-7 基本都dom 一级(基本操作都可以),) 3.浏览器对象模型 BOM (控制浏览器显示无标准...
通常来说,javascript中的对象就是一个指向prototype的指针和一个自身的属性列表。只有构造器(Object,Function,Array,Date,String)才具有且会有一个prototype属性。原型链继承就是创建一个新的指针,指向构造器的prototype属性。 prototype属性列表会默认有一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在指针,也就是当前对象自己。 1function baseClass()2{3this.showMsg = function()4 {5 a...
1. 一般用处对于this变量最要的是能够理清this所引用的对象到底是哪一个,也许很多资料上都有自己的解释,但有些概念讲的偏繁杂。而我的理解是:首先分析this所在的函数是当做哪个对象的方法调用的,则该对象就是this所引用的对象。示例一var obj = {};
obj.x = 100;
obj.y = function() { alert( this.x ); };//this指向的对象是obj
obj.y(); //弹出 100
这段代码非常容易理解,当执行 obj.y() 时,函数是作为对象obj的方法调用...
for-in循环应该用在非数组对象的遍历上,使用for-in进行循环也被称为“枚举”。 对于数组 ,迭代出来的是数组元素 但不推荐,因为不能保证顺序,而且如果在Array的原型上添加了属性,这个属性也会被遍历出来,所以 最好数组使用正常的for循环,对象使用for-in循环 对于对象 ,迭代出来的是对象的属性; var obj = { "key1":"value1", "key2":"value2", "key3":"value3" }; fu...
this是Javascript语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如, function test(){ this.x = 1; }随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。下面分四种情况,详细讨论this的用法。情况一:纯粹的函数调用这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。请看下面这段代码,它的运行...
1. 一般用处2. this.x 与 apply()、call()3. 无意义(诡异)的this用处4. 事件监听函数中的this5. 总结在JavaScript中this变量是一个令人难以摸清的关键字,this可谓是非常强大,充分了解this的相关知识有助于我们在编写面向对象的JavaScript程序时能够游刃有余。1. 一般用处对于this变量最要的是能够理清this所引用的对象到底是哪一个,也许很多资料上都有自己的解释,但有些概念讲的偏繁杂。而我的理解是:首先分析this所在的函数...
//this:第一人称"我"--->当前行为执行的主体//上下文(context):--->当前行为执行的范围//例如:石仪娜同学去北京饭店吃饭,事情就是吃饭,this是石仪娜,context是北京饭店//我们通常都是在函数中使用this,那么在函数中如何的区分this//1、this是谁和函数在哪定义的和在哪执行的没有半毛钱关系,只和当前函数执行的主体有关系-->如何判断函数执行的主体://函数名(形参值); 例如:sum(100);//看函数名之前有没有".",没有的话this就...
一、关键字with 1、含义 with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性。要给对象创建新的属性,必须明确地引用该对象。 简单的说,with为一个或一组语句指定默认对象。 2、语法格式:with(object instance)
{ //代码块
} 有时候,我在一个程序代码中,多次需要使用某对象的属性或方法,照以前的写法,都是通过:对象.属性或者对象.方法这样的方式来分别获得该对象...
JS this 关键字面向对象语言中 this 表是当前对象的一个引用
但是,在 JS 环境中 this 不是固定不变的,它会随着执行环境的改变而改变在方法中,this 表示该方法所属的对象
单独使用,this 表示全局对象
在函数中,this 表示全局对象
在函数中,严格模式下,this 是未定义的(undefined)
在事件中,this 表示接收事件的元素
类似 call() 和 apply() 方法可以将 this 引用到任何对象实例:
var person = {firstName:"John",lastNam...
我正在学习this关键字的工作原理,并读到,当一个函数被调用为简单明了且没有任何上下文对象或new关键字时,this关键字只是引用了global / window对象.但是,如果函数使用严格模式,则this关键字将设置为undefined.所以我写了这段代码来看看它是如何工作的:function foo(){"use strict";alert(this.a);
}var a = "Global A";var obj = {a : "Object's A",foo : foo
}setTimeout(obj.foo, 1000);我以为我会收到一条错误消息,提示未捕获的...