javascript 中的this call apply
来源:互联网 发布:ping端口号 编辑:程序博客网 时间:2024/05/16 11:50
直接上代码,有注释,其中有参考其他人的内容
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>js中this的学习</title> <script type="text/javascript"> //测试在对象的方法中使用this var test = { name: "xuexi", getName:function(){ console.log(this === test);// 这其中的this被对象test的方法getName调用,this指的是test对象 console.log(this.name); } }; test.getName();//true,xuexi // 测试在普通方法中使用this window.name = "testthis"; var testFun = function(){ console.log(this.name); // 这里的this被方法testFun调用,指的的全局对象 }; testFun();// testthis //测试在对象的构造方法使用this var testClass = function(){ this.name = "a";// 这里的this被testClass对象调用,指的是testClass对象本身 }; var classobj = new testClass(); console.log(classobj.name);// a console.log(classobj); // Object { name: "a" } // 测试在加入return时的this是否还有作用 var testClass2 = function(){ this.name = "this_name"; return{ name:"return_name" } }; var classObj2 = new testClass2(); console.log(classObj2.name); //return_name console.log(classObj2); //Object { name: "return_name" } // 从结果可以看出当有return是this 就失去了作用 </script></head><body>js中this的学习</body></html>
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>js中的call方法学习</title></head><body>js中的call方法学习<input type="text" id="myTest" value="input text"/></body></html><script type="text/javascript"> // call 方法用于改变对象的内部指针,即改变this指向的对象 var obj = function(){ this.value = "对象!"; // 这里的this指的是obj对象本身 } var objTest =new obj(); console.log(objTest.value); // 对象! var window.value = "global 变量"; var Fun1 = function(){ alert(this.value); } Fun1();// global 变量 方法Fun1中this指向的是全局对象即 window Fun1.call(window); //global 变量 这里用window替换原来的window 故结果不变 Fun1.call(document.getElementById("myTest")); //input text 这里使用id为"mtTest"的input元素替代原来的window对象,故结果为 input元素的值 "input text" Fun1.call(objTest);// 对象! 这里使用obj对象替代window对象 故结果为obj 对象的value的值 </script>
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> var func = new function(){ //匿名行数对象 this.a = "functest"; } var myfunc = function(x){ var a = "myfunc"; alert(this.a); alert(x); } myfunc.call(func,"vartest"); // 第一个参数是传递给当前对象用来替换this的对象,第二个或以后的参数是传递给当前对象的参数 //apply 方法和call方法的第一个参数都是传递给当前对象的对象,不同的是call方法传递给当前对象的参数是一个一个的 //而 apply方法传递给当前对象的参数是一个数组 </script></head><body></body></html>如有错误之处,请不吝指正,
0 0
- javascript 中的this call apply
- javascript中的this、apply、call
- Javascript中的this,call,apply,bind!
- Javascript中的this,call,apply,bind!
- 理解JavaScript中的this、call和apply
- Javascript中的this,call,apply,bind函数
- Javascript apply, call this
- JavaScript中的call、apply
- JavaScript中的self、this、call、apply、prototype、initialize
- JavaScript中的call(),apply(),bind()方法 关于this指向
- JavaScript中的this,call,apply使用及区别详解
- JavaScript 中的 this 用法以及 call(apply) 的理解
- JavaScript 中的 this 用法以及 call(apply) 的理解
- JS中的this、apply、call
- JavaScript中的call和apply
- javascript中的apply&call方法
- JavaScript中的call和apply
- javascript中的apply和call
- PLSQL Developer 不同窗口查询数据不一致
- oracle VPD
- 99%学生都不知道的Paper写作神器,Google从此是路人
- uva11183 Teen Girl Squad(最小树形图朱刘算法)
- launchpad 账号注册并设置的步骤 的个人体会
- javascript 中的this call apply
- android-继承BaseAdapter自定义适配器,getView执行多次的解决方法
- Android中将方形图片截取成圆形的两种实现方式
- 编写可读代码的艺术chapter 10-13
- dictHsCode is not mapped
- Leetcode 298Binary Tree Longest Consecutive Sequence
- struts2标签
- 博客开通,留个纪念
- NOIP 2015 D1 T2 信息传递