变量
以下方式声明变量:
let
const (不变的,不能被改变)
var
定义变量及赋值
注意:
变量命名及规范
变量使用规则
访问规则
访问规则也叫作用域的查找机制,只能向上,不能向下。
数据类型
基本数据类型
1.Number
number 类型代表整数和浮点数。
除了常规的数字,还包括所谓的“特殊数值(“special numeric values”)”也属于这种类型:
Infinity 、 -Infinity 和 NaN 。
Infinity
Infinity 代表数学概念中的 无穷大∞。是一个比任何数字都大的特殊值。 我们可以通过除以 0 来得到它:
alert( 1 / 0 ); // Infinity
或者在代码中直接使用它:
alert( Infinity ); // Infinity
NaN
NaN 代表一个计算错误。它是一个不正确的或者一个未定义的数学操作所得到的结果
alert( "not a number" / 2 ); // NaN,这样的除法是错误的
NaN 是粘性的。任何对 NaN 的进一步操作都会返回 NaN :
alert( "not a number" / 2 + 5 ); // NaN
2.bigint
任意长度的整数
3.string类型(字符串)
三种方式
- 双引号: "Hello" .
- 单引号: 'Hello' .
- 反引号: `Hello`
反引号是 功能扩展 引号。它们允许我们通过将变量和表达式包装在${...} 中,来将它们嵌入到字符串中。例如:
let name = "John";
// 嵌入一个变量
alert( `Hello, ${name}!` ); // Hello, John!
// 嵌入一个表达式
alert( `the result is ${1 + 2}` ); // the result is 3
${…} 内的表达式会被计算,计算结果会成为字符串的一部分。可以在${…} 内放置任何东西: 诸如名为 name 的变量,或者诸如 1 + 2 的算数表达式,或者其他一些更复杂的。
4.Boolean 类型(逻辑类型)
包含两个值:true false
yes or no
let nameFieldChecked = true; // yes, name field is checked
let ageFieldChecked = false; // no, age field is not checked
布尔值也可作为比较的结果:
let isGreater = 4 > 1;
alert( isGreater ); // true(比较的结果是 "yes")
5.null
JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值。
6.undefined
undefined 的含义是未被赋值 。如果一个变量已被声明,但未被赋值,那么它的值就是 undefined
let age;
alert(age); // 弹出 "undefined"
注:通常使用 null 将一个“空”或者“未知”的值写入变量中,而 undefined 则保留作为未进行初始化的事物的默认初始值。
7.Symbol
于创建对象的唯一标识符
复杂数据类型
object
其他所有的数据类型都被称为“原始类型”,因为它们的值只包含一个单独的内容(字符串、数字或者其他)。相反, object 则用于储存数据集合和更复杂的实体。
创建对象
通过使用带有可选 属性列表 的花括号 {…} 来创建对象。一个属性就是一个键值对 (“key: value”),其中键(key)是一个字符串(也叫做属性名),值(value)可以是任何值。
对象操作
添加
将一些以键值对的形式放到 {...} 中。
属性有键(或者也可以叫做“名字”或“标识符”),位于冒号 ":" 的前面,值在冒号的右边。
let user = { // 一个对象
name: "John", // 键 "name",值 "John"
age: 30 // 键 "age",值 30
};
查
// 读取文件的属性:
alert( user.name ); // John
alert( user.age ); // 30
改
user.age=40
删
delete user.age;
注:
可以用多字词语来作为属性名,但必须给它们加上引号:
let user = {
name: "John",
age: 30,
"likes birds": true // 多词属性名必须加引号
};
列表中的最后一个属性应以逗号结尾:
let user = {
name: "John",
age: 30,
}
这叫做尾随(trailing)或悬挂(hanging)逗号。这样便于我们添加、删除和移动属性,因为所有的行都是相似的.
1.
区别:
遍历
var obj={
name :"kerwin",
age:100,
location:"dalian",
a:1,
b:2
}
for(var i in obj){
document.write(i+":"+obj[i])
document.write("br")
}
判断数据类型
typeof
- 作为运算符: typeof x 。
- 函数形式: typeof(x) 。