javascript基础教程(1)

时间:2021-03-09 14:48:05

在看《JavaScript基础教程(第9版)》,敲敲笔记,另外补充补充自己的理解,看两三章就写成一篇。

脚本放在哪里?

建议放在之前,由于js是单线程加载执行,如果放在之间,那么可能在加载执行js的时候会出现页面短暂空白的现象。

补充说明一下,css最好放在之间,这样能避免页面的样式没有加载完成,出现页面短暂混乱的现象。

PS:这个和浏览器渲染执行机制有关,上面只是大概说说,还有更好地解释,我现在还不知道,日后补上。

var的作用

众所周知,当我们声明一个变量时就会用到var。

var a的意思就是检测目前的作用域中是否有a这个变量,如果没有就创建,有就什么都不做。

举个例子,定义一个函数:

var a = 'window';

function fn(a){
var a;
console.log(a)
}

fn(a); //window

函数执行控制台打印出’window’,可见,函数里var检测到了函数作用域中存在了a,所以并没有做任何事情。

一些人误以为 var a 在声明变量a的同时会将a赋值为undefined。

将一个链接节点赋值给window.location

<a id="a" href="test.html" target="">链接文字</a>

<script>
oA = document.getElementById('a');

console.log(oA.toString()) //http://localhost/test.html
console.log(typeof oA.toString()) //string

window.location = oA //页面跳转到test.html页面
</script>

防止switch语句贯穿

var i = 3;

switch (i) {
case 1:
//do something
break;
case 2:
//do something
break;
default:
//do something
break;
}

switch语句中的case你要理解成一个入口,例如在代码中,i如果为1,那么就从 ‘case 1:’ 后面的语句开始执行,如果没有break跳出代码,那么会继续往下执行。所以有时可以像下面这样合并情况:

var i = 3;

switch (i) {
case 1: //case 1:后面没有break,所以当i == 1时,也会继续往下执行case 2的语句
case 2:
//do something
break;
default:
//do something
break;
}

这篇就写这几点,大神们勿喷,哈哈。

欢迎访问我的个人网站:点击进入