如何判断this的指向?
谁调用函数,this就指向谁,如果没有明确谁调用,那this就指向window
-
element.setAttribute(attribute, value) 改变 HTML 元素的属性值
-
document.appendChild(element) 添加 HTML 元素
-
querySelector根据css选择器选择元素,如果有多个相同类名,只选中第一个
-
querySelectorAll是选中所有,以类数组的形式返回
-
事件绑定的函数也可以通过调用事件来主动调用,不一定要点击触发
-
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。对数组也是适用的
-
字符串是不可变对象
-
js的文件引用目前知道的是在script标签里面用src属性引入js文件
如何获取鼠标所在的当前位置?
-
clientX 和 clientY
表示鼠标在相对于视口的位置(不包含页面滚动的距离)扫描二维码关注公众号,回复: 13303303 查看本文章 -
pageX 和 pageY
这个位置获取相对于视口的位置,包括页面滚动的距离 -
screenX 和 screenY
确定相对于整个屏幕的坐标信息(把浏览器界面缩小,获取相对于整个屏幕的距离)
scrollWidth:对象的实际内容的宽度,不包边线宽度,会随对象中内容超过可视区后而变大。
clientWidth:对象内容的可视区的宽度,不包滚动条等边线,会随对象显示大小的变化而改变。
offsetWidth:对象整体的实际宽度,包滚动条等边线,会随对象显示大小的变化而改变。
变量声明
var
用var创建出来的会被自动添加在最近的上下文中
var声明会被拿到函数或全局作用域的顶部——变量提升
console.log(a);//undefined
var a = 1;
变量提升仅仅只是把var a;放在最前面,并没有对a进行赋值,所以此时的a还是undefined
let
作用域是块级的,块级作用域由最近的一对{}大括号标志
在一个块里面用let声明,在块级作用域{}外面就访问不了了,比如for,if之类的
不存在变量提升,只能先说明,再使用
for(var i = 0 ;i <= 5; i++){
setTimeout(()=>{
console.log(i)
},0)
}
// 6 6 6 6 6 6
for(let i=0;i<=5;i++){
setTimeout(()=>{
console.log(i)
},0)
}
// 0 1 2 3 4 5
同一个变量不能用let声明两次
const
使用const声明的常量必须初始化为某个值,不能在下面的进程中重新赋值
地址不可更改,也有块级作用域,不存在变量提升
注意:开发实践表明,如果开发流程并不会因此而受到很大影响,就应该尽可能多的使用const声明。
const修饰对象的时候,不可以直接给对象赋值,但是可以改变对象内部的 属性
因为当是对象的时候,只是用const固定了对象的首地址,后面修改对象内部的属性的时候并没有改变对象的首地址,所以更改对象内部属性是被允许的。
https://www.cnblogs.com/codexlx/p/14275961.html
至于十一周,被五一假期淹没了orz