获取鼠标位置 + 变量声明 + 一部分零零散散的笔记 -- 大一下十二、十三周笔记

如何判断this的指向?
谁调用函数,this就指向谁,如果没有明确谁调用,那this就指向window

  • element.setAttribute(attribute, value) 改变 HTML 元素的属性值

  • document.appendChild(element) 添加 HTML 元素

  • querySelector根据css选择器选择元素,如果有多个相同类名,只选中第一个

  • querySelectorAll是选中所有,以类数组的形式返回

  • 事件绑定的函数也可以通过调用事件来主动调用,不一定要点击触发

  • indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。对数组也是适用的

  • 字符串是不可变对象

  • js的文件引用目前知道的是在script标签里面用src属性引入js文件

如何获取鼠标所在的当前位置?

  1. clientX 和 clientY
    表示鼠标在相对于视口的位置(不包含页面滚动的距离)

  2. pageX 和 pageY
    这个位置获取相对于视口的位置,包括页面滚动的距离

  3. 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

猜你喜欢

转载自blog.csdn.net/weixin_50948265/article/details/117352034