JS基础篇(一些记录)

JS一些问题记录

1.switch,break后只会退出switch本身用于防止穿透,外层比如for不会退出,ifbreak的话就会退出整个循环

2.三元运算符用于比较简单的两个东西之间的比较,也不能输出打印出来,但是if双分支就可以

3.同一个页面两个for,都用i不会冲突,是两个局部变量不会影响

4.for里面嵌套for,外部和内部循环一次后里面的变量也会重新赋值。注意是for循环不是以前的判断

5.多个函数调用执行的顺序和变量要用时的访问顺序

顺序就是有声明先声明赋值出来,然后看同一域中有没有调用,有就调用,调用函数就是局部的了。局部有声明就执行局部里面的,如果局部这一域中还有调用就再调用一次,这次调用如果还有声明就用这个声明的。
然后有要输出打印出来的变量的就是从自己当前的域找,如果没有就去找外面的域依此类推,就近原则去查找

6.函数调用的时候放在声明函数的同一个域就行,不用一定放在声明函数后面或者最后;匿名函数就不一样了一定得放在函数后面,因为匿名函数的函数表达式相当于声明赋值,我不能先给值再声明

7.函数计算完成一定要记得重新赋值给原来的变量

8.在循环或者判断里面如果是声明变量再赋值,那这就是局部变量,外面是打印不了的,如果是直接赋值那就是全局变量了,外面就可以用了.只是声明也是局部

9.img里面的src可以不加引号,title也可以不加。不过title如果有空格就得加引号,单双都行。注意js中取对象取过来的是已经有引号了,是字符串,但就是没显示出来而已。

<img src=../../html5+css/电器少女1.png title='电器 少女'>
 let num1 = 10
        let num2 = num1
        num2 = 20
        console.log(num1)
        // 这跟值得交换一样,前面说num1的值给num2后num1就没有值了只是帮助我们理解,其实是有的,只是后面再给他值会覆盖前面的而已

JS一些快捷方式

1.双击内容,ctrl+d,可以选中相同内容,然后输入要改的内容就可以了,很快,不用一个一个删除

2.鼠标点击一行,然后alt加下箭头就可以移动了

一些疑问记录

疑问1

let arr = ['赵云', '黄忠', '关羽', '张飞', '马超', '刘备', '曹操']
        for (let ranDom = 0; ranDom < 7; ranDom++) {
            // 这里有个疑问for括号后面的ranDom跟循环体里面的一样吗,如果一样那ranDom这个随机数得到后加1不可能每次都能7个都打印出来。如果没关系,那为什么在循环体里面可以直接打印ranDom。是不是说开始新一轮的循环原先赋值后的ranDom就没用了,还是用for()里面的ranDom自增
            let ranDom = Math.floor(Math.random() * arr.length)
            document.write(arr[ranDom] + '<br>')
            arr.splice(ranDom, 1)
            console.log(arr)  //测试的看有没有删掉
            
        }
实验如下
        for (let i = 0; i < 4; i++) {
            let i = 4
            document.write(i + '<br>')
        }  //从这里看出确实是循环结束后i还是0开始,然后自增,一共循环4次
posted @ 2023-10-16 10:33  KE-XI  阅读(7)  评论(0编辑  收藏  举报