JavaScript小白学习笔记2——基础知识

本节仍然是语法基础。


常量和变量

JavaScript暂不支持const,也就是说是没法自定义常量的。但是JavaScript提供了几个默认常量。这些常量主要是数学和数值常量。

Math.E 自然对数的底数

Math.LN10 ln10

Math.LN2 ln2

Math.PI π

Math.MAX_VALUE 可表示的最大数

Math.MIN_VALUE 可表示的最小数

Math.NaN 非数字值

Math.NEGATIVE_INFINITY 负无穷大,溢出时返回这个值

Math.POSITIVE_INFINITY 正无穷大,溢出时返回这个值

声明变量之后,在没有初始化之前,它们的值都是undifined,而不是0。虽说JavaScript使用var声明弱类型变量,但是实际上像python那样直接使用未声明的变量也不是不可以。但是仍然建议遵循“先声明后使用”的原则。这是因为,如果不使用var修饰变量,则会导致该变量始终是全局变量。如果需要定义局部变量则必须要使用到var。比如在函数内部定义两个变量,一个使用var修饰,一个不用,使用var修饰的变量在函数外部是不可见的,但是不使用var修饰的变量就是在函数外部可见的。

表达式和运算符

最简单的表达式可以是一个简单的值、常量或变量。值表达式的返回值为它本身,而变量表达式的返回值为变量存储或引用的值。把这些简单的表达式合并为一个复杂的表达式,那么连接这些表达式的符号就是运算符。运算符就是根据特定算法定义的执行运算的命令。

JavaScript运算符与C语言运算符基本一致。有几个特殊的运算符需要注意。

delete运算符的操作数类型是属性标识,允许删除一个对象的属性或者数组中指定的元素。

new运算符的操作数类型是类型或者参数,它允许创建一个用户自定义对象类型或内建对象类型的实例。

typeof接受任意操作数类型,它返回一个字符串,表明为计算的操作数的数据类型。

instanceof运算符接受操作数类型为对象或类型,它检查对象的类型。

in运算符的操作数是字符串或对象,它检查一个属性是否存在。

void运算符的操作数是任意的。该运算符指定了一个要计算一个表达式但是不返回值。也就是说,让计算结果为某个值,但是在JavaScript上没有任何效果。

这里重点说一下void运算符吧。在使用浏览器的过程中读者有没有注意到有类似于这样的东西在屏幕上出现?

就是他,javascript:void(0)。它可以用来创建一个空的超链接,点击这个连接什么也不会发生。

单击此处什么也不会发生

甚至还可以:

点我!

这样做到底有什么意思呢?我不知道……

语句

基本语句与C语言并无太大区别。会C语言的语法的话JavaScript也不在话下。

JavaScript拥有Java那样的foreach语句,也就是可以使用 for x in y这样的语句进行遍历。

比如,下面的语句列出document对象里面的所有属性。

1
2
3
for (var i in document) {
document.write("document." + i + "<br>");
}

效果是这样的:

异常处理。异常表示一种非正常的信息,它提示程序发生了意外或错误。然后JavaScript通过一定的机制把异常给信号暴露出来,这个操作称为抛出。抛出操作将告诉系统当前程序出了问题,JavaScript使用异常处理语句捕获这个异常,并且进行处理。

在JavaScript中使用try,catch,finally来作为异常处理的语句。语法形式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
try {
alert("嘤嘤嘤");
var err = new Error("嘤嘤嘤这里好像出问题了");
throw err;
}
catch (e) {
alert("错误名称:" + e.name + "\n错误信息:" + e.message);
}
finally {
alert("嘤嘤嘤其实没什么问题");
}

for (var i in document) {
document.write("document." + i + "<br>");
}

with语句和空语句。with语句能够为一组语句创建缺省的对象。在这一组语句中,任何不指定的对象的属性引用都将被认为是缺省对象的。它可以简化一些语句的书写。有点类似于using namespace std;那种感觉。

加入这个with语句后,如果是用JavaScript画一个矩形的话,就可以这样写:

1
2
3
4
5
6
7
8
9
10
11
<div id = "box">
<script>
with(document.getElementById("box").style) {
borderColor = "red";
borderWidth = "1px";
borderStyle = "solid";
width = "400px";
height = "200px";
}
</script>
</div>

如果不这样操作的话,就变成了下面这样:

1
2
3
4
5
6
7
8
9
<div id = "box">
<script>
document.getElementById("box").style.borderColor = "red";
document.getElementById("box").style.borderWidth = "1px";
document.getElementById("box").style.borderStyle = "solid";
document.getElementById("box").style.width = "400px";
document.getElementById("box").style.height = "200px";
</script>
</div>

是不是感觉要疯了?2333333

那就先写到这吧~剩下的部分再开一篇文章。


-------------本文结束,感谢您的阅读转载请注明原作者及出处-------------


本文标题:JavaScript小白学习笔记2——基础知识

文章作者:Shawn Zhou

发布时间:2019年02月08日 - 18:02

最后更新:2019年02月18日 - 13:02

原始链接:http://shawnzhou.xyz/2019/02/08/19-02-08-01/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

知识无价,码字不易。对您有用,敬请打赏。金额随意,感谢关心。
0%