10.31JS日记
this问题
(1)this是js的一个关键字,指定一个对象,然后替代this;
函数中的this指向行为发生的主体,函数外的this都指向window,没有意义
(2)函数内的this跟函数在什么环境下定义没有关系,意思就是跟他的作用域没有关系,
而只跟自己执行时候的主体有关
(3)主体:就是看它前面有没有点,有点.就是点前面的对象,没有点.就指向window
(4)自执行函数的时候,里面的this都指向window
(5)给元素中的某一个事件绑定方法,当事件触发时,执行绑定的方法,this就指向当前对象
*当函数套函数时,不要管它怎么定义,而看它执行时候的主体
this面试题

因为执行test()时,前面没有 . 所以,test里的this就指向window,因为x也是window下的变量,所以x就是12

因为执行obj.ss()时,ss就相当于把test这个函数赋给了ss,则ss就是一个函数,然后执行obj下的ss,obj下的x为45,则obj()就是45;

执行obj.ss(),有两个语句,第一个输出 this指向obj,第二个text(),我们就简单理解为,不要看它在谁的环境下,就看
它前面有没有 . ,没有则是window下的,所以执行test(),this.x就指向window下的x,则为12

ss被赋值为obj.dbl obj.dbl就是他在obj下的值,则那个函数,因为赋值给了ss,ss在window下执行的,所以在这个代码块中,第一个输出的this指obj,第二个输出的val是当前下面的val,45;最后一句是this下面的,即window,1*2=2.
10.31JS日记的更多相关文章
- 10.24JS日记
1.函数都有返回值,人为return,返回什么就是什么,否则,他的返回值就是undefined 而方法的本质也是函数,所以也有返回值 document.getElementById()返回的是获取的标 ...
- 10.22JS日记
1.js数据类型分析 (1)基础类型:string.number.boolean.null.undefined (2)引用类型:object-->json.array... 2.点运算 xxx ...
- 10.17JS日记
1.变量提升 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域,叫window, window分为两个模块,一个叫做内存模块,一个叫做运行模块,内存模块找到当前作用域下的 ...
- 9.10 h5日记
9.10 1.什么是属性 属性是表示某些事物的一些特征 2.属性分为标签属性和样式属性,二者的区别在于哪里 标签属性:<img src="01.jpg" width=&quo ...
- 10.23JS日记
1.逻辑运算 || && ! ||:遇到第一个为true的值就中止并返回 &&:遇到第一个为false的值就中止并返回,如果没有false值,就返回最后一个不是fa ...
- 10.19JS日记
1.函数 关键词(function) var是js的关键字,用于声明变量,声明在内存模块完成,定义(=)是在执行模块完成 var可以在内存模块提前完成(js代码执行前),所以有变量提升这个功能 c ...
- 10.18JS日记
1.JS的本质就是处理数据,数据来自后台的数据库,所以变量起到了临时存储的作用, ES制定了js的数据类型 2.数据类型有哪些? (1)字符串 String (2)数字 Number (3)布尔 B ...
- 10.16JS日记
1.parseint() 2.parsefloat() 这两个单词运行的时候遇到第一个非数字就结束了 3.var a="hello word" a这个变量为字符串,每一个字母为字 ...
- 10.9h5日记
一.单位 1.px是基本的单位,像素 2.em也是一个单位,使用方式,用元素父级的字体大小乘以em前的数字,父级没有就向上一个父级找, 直到body为止,如果body没有,就用默认的字体大小16px ...
随机推荐
- linux shell 语法学习
文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tmp/ ...
- RTX二次开发SDK需要注意的地方
1.如果是ASP.net二次开发调用的,线程池必须开发 Enable 32-bit Applications设置为true. 因为RTX的调用接口很多是32位的.否则会报一下错误 RootObj = ...
- 一: Introduction(介绍)
Welcome to SQLBackupRestore.com, your online resource for SQL Server backup and recovery issues. Th ...
- shiro 会话管理
- JVM 图解--1.6,1.7,1.8
- js 事件event
var EventUtil = { addHandler: function(element,type,handler){ if(element.addEventListener){ element. ...
- C#实现将字符串作为表达式运算
转载:http://blog.csdn.net/lifeforcode/article/details/2010807 曾经有个需求,要把一段字符串作为C#的一段语句来执行.说实在了,就类似实现计算器 ...
- MVC001之mvcpager简单分页
描述:用mvcpager实现简单分页功能 参考网址: http://www.cnblogs.com/iamlilinfeng/archive/2013/03/11/2951460.html http: ...
- cxf怎样提高webservice性能,及访问速度调优
性能: 1. 启用FastInfoset(快速信息集)webservice的性能实在是不敢恭维.曾经因为webservice吞吐量上不去,对webservice进行了一些性能方面的优化,采用了Fast ...
- 无法加载DLL"***.dll":找不到指定的模块
加载dll的路径不对. 绝对路径不合适,可以换成相对路径. 比如: 把dll放入bin目录下的debug或者release下,然后就可以直接“test.dll”了.不用加路径了. 注意:路径必须与发布 ...