JS this对象

this对象是在运行时基于函数的执行环境绑定的:

  1、在全局函数中,this等于window;

  2、当函数作为某个对象的方法调用时,this等于这个对象。

构造函数中的this

// 构造函数:
function myFunction(arg1, arg2) {
    this.firstName = arg1;
    this.lastName  = arg2;
}

// This creates a new object
var x = new myFunction("John","Doe");
x.firstName;                             // 返回 "John"

这里构造函数是创建对象的过程,故构造函数中 this 关键字没有任何的值。this 的值在函数调用时实例化对象(new object)时创建。

this指向建立的新对象。

参考:

http://www.jb51.net/article/55470.htm

时间: 02-08

JS this对象的相关文章

认识JQuery,JQuery的优势、语法、多库冲突、JS原生对象和JQuery对象之间相互转换和DOM操作,常用的方法

(一)认识JQuery  JQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一套定义好的方法    JQuery的主旨:以更少的代码,实现更多的功能 (二)JQuery的优势 1)可以像CSS一样访问和操作DOM 2)修改CSS控制页面外观 3)简化JS代码操作 4)事件代理更加容易 5)动画效果使用方便 6) Ajax技术更加完美 7)大量的基于Jquery的插件 8)可以自定义扩展功能插件 (三)JQuery的语法 格式:$(selector).actio

[转]JS中对象与字符串的互相转换

原文地址:http://www.cnblogs.com/luminji/p/3617160.html 在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: throw new SyntaxError('JSON.parse'); 查询资料,大概意思如下: JSON.parse方法在遇到不可解析的字符串时,会抛出SyntaxError异常. 即:JSON.parse(text, reviver),This method parses a JSON text t

js 遍历对象

function allPrpos(obj) { // 用来保存所有的属性名称和值 var props = ""; // 开始遍历 for(var p in obj){ // 方法 if(typeof(obj[p])=="function"){ obj[p](); }else{ // p 为属性名称,obj[p]为对应属性的值 props+= p + "=" + obj[p]+"<br />"; } } // 最后

js面对对象编程

说到js,很大一部分人会说我很熟悉,在日常的web开发中经常用,那么你的js代码是符合面对对象思路的吗?那你会问我面向过程的js代码有什么不好吗?我的感受是面对对象的js编码更加简洁,减少了混乱,可维护行增强,适合编写富客户端时应用. 好了,首先看看js里如何定义对象: <html> <head> <script type="text/javascript"> var obj=new Object(); obj.name='josh'; obj.ag

js复制对象

<script type="text/javascript"> function getType(o){ var _t; return ((_t = typeof(o)) == "object" ? o==null && "null" || Object.prototype.toString.call(o).slice(8,-1):_t).toLowerCase();}function extend(destinati

【JS工具对象系列】(1)URL工具对象

分享自己的js工具对象,如下为URL工具代码: urlUtil={ /** * 返回当前页面的url * @author chencha * @since 2014-07-04 */ getURL: function() { return document.URL; //大写哦! }, /** 返回url参数数组,分别有name和value属性 * @param {String} url - url字符串 * @author chencha * @since 2014-07-04 */ getU

js事件对象坐标

js事件对象坐标---贴上代码 <body style="position:relative;width:100%;height:100%;padding:15px;margin:20px;"> <div style="position:absolute;top:100px;left:100px;width:500px;height:500px;padding:5px;margin:9px;background:#ddd;" onclick=&qu

js数据类型隐式转换笔记以及js包装对象

“37”+7              //377 “37”-7              //30 巧用+/-规则  变字符串  x+''   变数字x-0 js里面的==是不严格等于 “123” == 123 0 == false nul l== undefined new  Object() == new Object() [1,2]==[1,2] 但是[1,2]===[1,2]是错的 因为比较的是对象的引用 ps: NaN值和任何东西比较都不相等 即便是不严格等于 ———————————

js自定义对象

<script type="text/javascript" src="out.js"></script> <script> /* *如果想要自定义对象,应该对对象进行描述*js是基于对象,不是面向对象.不具备描述事物的能力.*如果想按照面向对象的思想编写js.*就要先描述,在js中,可以用函数来模拟面对对象的中的描述*/ //用js来描述人/*function Person(){//相当于构造器alert("perso

JS面相对象

一.理解对象: //第一种:基于Object对象var person = new Object();person.name = 'My Name';person.age = 18;person.getName = function(){       return this.name;} //第二种:对象字面量方式(比较清楚的查找对象包含的属性及方法)var person = {       name : 'My name',       age : 18,       getName : fun