第四天、JavaScript语言基础(上)
最近两天有点忙,都没顾得上看我的红宝书,今天赶快又翻出来继续学习。
1、语法
(1)、ECMAScript中一切都区分大小写,变量名、方法名操作符等。
(2)、严格模式:严格模式是一种不同的JavaScript解析和执行模型。该模式下一些不安全的活动将会抛出异常。启用方法,脚本开头加上"use strict"。
也可以指定一个函数执行严格模式,加载函数体的开头即可。
2、var关键字
(1)、省略var在方法内定义变量可以创建一个全局变量。
(2)、定义多个变量时可以用逗号隔开。
如:var name = "小明",
age = "22";
(3)、var、let、const声明
使用var时声明变量会自动认为它声明在函数作用域的顶部。但是let声明不会。(let的作用域为块作用域——也就是在一个{}内部)。
const声明与let基本相同,但是必须初始化变量,且变量不可更改(但是可以改变变量内部的属性值)。
3、数据类型
简单数据类型:Undefined、Null、Boolean、Number、String和Symbol。
复杂数据类型:Object
(1)、typeof操作符:
返回类型"undefined","boolean","string","number","object","function","symbol"
返回类型注意的是object代表值为对象或null,symbol表示值为符号,function表示值为函数。
任何一个已经定义但未初始化值的变量都会被默认赋值undefined。
但是typeof操作使用时判断一个不存在的变量返回的也是undefined。
(2)、Boolean类型:
特定函数Boolean()可以将其他类型的值转换为boolean类型
| 数据类型 | 转换为true的值 | 转换为false的值 |
| Boolean | true | false |
| String | 非空字符串 | ""(空字符串) |
| Number | 非零数值(包括无穷值) | 0、NaN |
| Object | 任意对象 | null |
| Undefined | N/A(不存在) | undefined |
理解以上转换非常重要,因为像if等流控制语句会自动执行其他类型值到布尔值的转换。
(3)、浮点值:
需要注意的是ECMAScript的小树计算有微小的差异,例如0.1+0.2 == 0.3 会判断为false。
浙公网安备 33010602011771号