数据类型:
- 原始数据类型有6种:字符串(string)、数字(number)、布尔值(boolean)、空(null)、无定义(undefined)、对象(object)
- object又包括数组(array)、函数(Function)、日期(Date)
null和undefined
- null表示一个"空"的值,它和0以及空字符串"“不同,0是一个数值,”"表示长度为0的字符串,而null表示“空”。
- undefined表示值未定义。事实证明,这并没有什么卵用,区分两者的意义不大。大多数情况下,我们都应该用null。undefined仅仅在判断函数参数是否传递的情况下有用。
数组
创建数组的方式
new Array(1, 2, 3); // 创建了数组[1, 2, 3]
然而,出于代码的可读性考虑,强烈建议直接使用[]。
数组的元素可以通过索引来访问。请注意,索引的起始值为0:
var arr = [1, 2, 3.14, 'Hello', null, true];
arr[0]; // 返回索引为0的元素,即1
arr[5]; // 返回索引为5的元素,即true
arr[6]; // 索引超出了范围,返回undefined
对象
JavaScript的对象是一组由键-值组成的无序集合,例如:
var person = {
name: 'Bob',
age: 20,
tags: ['js', 'web', 'mobile'],
city: 'Beijing',
hasCar: true,
zipcode: null
};
要获取一个对象的属性,我们用对象变量.属性名的方式:
person.name; // 'Bob'
person.zipcode; // null
类型检测:
- typeof:最长用的类型检测方法:typeof 100 =>“number”
- instanceof:基于原型链操作: obj instanceof object
原理:判断左边的左操作数的对象的原型链上是否有右边这个构造函数的prototype属性
运算符:
- 加(+): 6+ 9、 “Hello” + “world!”
- 减、乘、除(-、*、/): 9 - 2、4 * 4
- 赋值运算法: let ccc = 3
- 等于:===
- 不等于: !==
- &&: 与运算,都无true结果才为true
- ||:或运算,只有一个为true结果就为true
- 取非: !
NaN属性: 特殊的number,与所有值都不相等
NaN的用法:
NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
它的特点为:
- 任何涉及NaN的操作都返回NaN
- NaN与任何值都不相等,包括NaN
它涉及到的函数为isNaN();该函数接受一个参数,该参数可以是任何类型
条件语句、循环语句:
// if语句
let a = 5;
if(a === 5){
console.log("yes");
} else {
console.log("no");
}
// for循环
let b = [0,1,2,3,4,5,6,7,8,9]
for(let i = 0; i < b.length; i++) {
console.log(i);
}
for(let key in b) {
console.log(key);
}
// while语句
let c = 0;
while(c< 10) {
console.log(c);
c++;
}
// do while语句
let d = 0;
do{
console.log(d);
d++;
}while( d < 10);