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 ...
随机推荐
- Android中查看SQLite中字段数据的两种方式
方式一:ADB Pull 通过adb pull导出*.db文件到PC的文件夹中,通过可视化工具 SQLiteExpertPers 进行查看.编辑: adb pull /data/data/com.jo ...
- c# vs2013部署项目
http://demo.netfoucs.com/shinepan/article/details/24865931
- Kubernetes K8s
1 Kubernetes入门及概念介绍 Kubernetes(K8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展.开源将Docker 看成Kubernetes内部使用的低级别组 ...
- Python基础学习Day2
一.格式化输出 需求格式化输出:姓名.年龄.工作.爱好 # 格式化输出 name = input('请输入用户名:') age = input('请输入年龄:') job = input('请输入你的 ...
- HTML 设置字体
HTML,CSS,font-family:中文字体的英文名称 (宋体 微软雅黑) 宋体 SimSun 黑体 SimHei 微软雅黑 Microsoft YaHei 微软正黑体 Microsof ...
- Error logged from Ant UI:
2down vote Have a look at the Eclipse error log. I recently saw following error there: Error logged ...
- Spring-session redis 子域名 session
Spring-session & redis 子域名共享session 例子: a.example.comb.example.comSpring 版本 4.2.6.RELEASE Spring ...
- Linux下SVN server 的使用及权限配置
[Linux下SVN server 的使用及权限配置] 参考:http://www.cnblogs.com/heinoc/p/3805779.html
- Tween animation
[Tween animation] An animation defined in XML that performs transitions such as rotating, fading, mo ...
- shell 通过shift获得某位后的入参
有时shell的入参个数不定,想要获得第2位后的参数,作为新的入参调用其他脚本 通常这时候想到的方法是用遍历,例如下面的方法: for (( i=2;i<=$#;i++)) do ...