博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
this常用的用法
阅读量:5342 次
发布时间:2019-06-15

本文共 1642 字,大约阅读时间需要 5 分钟。

1.函数作为对象的方法时,this指的是该对象;var obj ={ name:"bob", age:25, getName:function(){   console.log(this.name)  ------->//bob }}obj.getName();2.局部函数里的this指的是window对象var age=30;var obj ={ name:"bob", age:25, getAge:function(){   function aa(){    console.log(this.age) ------->//30   }   aa();   console.log(this.age)  ------->//25 }}obj.getAge();3.构造函数动态thisfunction Car(name,price){  //构造函数  this.name = name;  this.age = age;  this.date = "2016.03.02";}Car.prototype.start = function(){  console.log(this.name + "定义函数对象的方法一")}Car.prototype.end = function(){  console.log(this.name + "定义函数对象的方法二")}Car.prototype.getPrice = function(){  console.log(this.price + "定义函数对象的方法三") //this指动态绑定对象 的实例(obj1,obj2谁做的)}var obj1 = new Car("宝马",1000000)  -------->创建一个新的对象var obj2 = newCar("奥迪",400000)    -------->再创建一个对象分配另一个实例 obj1.getPrice();    -------->//它调用时候是1000000obj2.getPrice();    -------->//它调用时候是4000004.this的链式调用function Car(name,price){  //构造函数  this.name = name;  this.age = age;  this.date = "2016.03.02";}Car.prototype.start = function(){  console.log(this.name + "定义函数对象的方法一")  return this;}Car.prototype.end = function(){  console.log(this.name + "定义函数对象的方法二")  return this;}Car.prototype.getPrice = function(){  console.log(this.price + "定义函数对象的方法三") //this指动态绑定对象 的实例(obj1,obj2谁做的)  return this;}var obj1 = new Car("宝马",1000000)  -------->创建一个新的对象var obj2 = newCar("奥迪",400000)    -------->再创建一个对象分配另一个实例 obj1.getPrice();    -------->//它调用时候是1000000obj2.getPrice();    -------->//它调用时候是400000obj1.getPrice().start().end(); -------->//它调用了三个方法,是通过retur this来实现!!!如果函数直接调用如 aa();默认this为window对象;

 

转载于:https://www.cnblogs.com/lhl66/p/7968175.html

你可能感兴趣的文章
泛型子类_属性类型_重写方法类型
查看>>
eclipse-将同一个文件分屏显示
查看>>
对闭包的理解
查看>>
练习10-1 使用递归函数计算1到n之和(10 分
查看>>
Oracle MySQL yaSSL 不明细节缓冲区溢出漏洞2
查看>>
windows编程ASCII问题
查看>>
.net webService代理类
查看>>
Code Snippet
查看>>
Node.js Express项目搭建
查看>>
zoj 1232 Adventure of Super Mario
查看>>
1201 网页基础--JavaScript(DOM)
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
oracle job
查看>>
Redis常用命令
查看>>
XML学习笔记(二)-- DTD格式规范
查看>>
IOS开发学习笔记026-UITableView的使用
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>