MDN 重新介绍JavaScript
基本数据类型
-
Number- 不区分整数值和浮点数值,所有数字在 JavaScript 中均用浮点数值表示
- 字符转换成数字
-
parseInt()&&parseFloat, 转化的时候 -
+ "42" // 42(单元运算符+也可以把数字字符串转换成数值, 使用该方法,字符串中有不能被转化的字符,则会返回NaN)
-
-
NaN进行任何数学运算,结果也会是NaN,isNaN()用来判断是否是NaN -
Infinity&&-Infinity,isFinite()来判断是否是无穷值
-
String -
null&&undefined-
null可以理解成未定义的对象, 返回的类型是Object -
undefined可以理解成声明了对象, 但是未进行赋值, 返回的类型是undefined
-
-
Boolean-
false、0、空字符串("")、NaN、null和undefined被转换为false - 所有其他值被转换为
true -
if条件语句中会隐式转换
-
变量
- 声明方法: 使用关键字
var,let,const-
let语句声明一个块级作用域的本地变量,并且可选的将其初始化为一个值, (目前的理解是, 块级作用域以{}来定义) -
const允许声明一个不可变的常量, 这个常量在定义域内总是可见的 -
var在整个函数作用域中都可见, (如果直接语句, 没有封装函数的, 则是全局可见,ES5之前语句(block)没有作用域, 只有函数(function) 有作用域,ES6后通过let和const创建块级作用域
-
运算符
-
+- 可以用来连接
Number和String, 操作数都会被首先转换为字符串; - 通过与空字符串相加,可以将某个变量快速转换成字符串类型
- 可以用来连接
-
==&&===-
==会进行类型自动转换, 比如'123' == 123 // true -
===不会进行类型转换,123 === "123"; // false
-
控制结构
for...of-
for...in(在循环中进行详细解析) -
switch...break, 不要忘了加上break
对象 Object
-
JavaScript中的对象可以简单理解成“名称-值”对 -
JavaScript中的一切(除了核心类型,core object)都是对象 -
“名称”部分是一个 JavaScript 字符串
-
“值”部分可以是任何 JavaScript 的数据类型——包括对象
-
声明对象:
-
var obj = new Object(); -
var obj = {};// 对象字面量(object literal), 一般使用这种声明方法 -
可以对象字面量中再创建对象实例
var obj = { name: "Carrot", "for": "Max",//'for' 是保留字之一,使用'_for'代替 details: { color: "orange", size: 12 } }
-
-
访问对象属性新增对象属性:
-
通过链式(chain)表示方法进行访问
obj.name = "Simon" var name = obj.name; // bracket notation obj['name'] = 'Simon'; var name = obj['name']; // 可以使用变量来代替key var user = prompt('what is your key?') obj[user] = prompt('what is its value?')
-
数组
-
数组是一种特殊的对象:
-
key是数字(下标) - 只能通过
[]来访问
-
-
创建数组:
-
传统声明式方法:
var a = new Array(); a[0] = "dog"; a[1] = "cat"; a[2] = "hen"; a.length; // 3 -
数组字面量(array literal)
var a = ["dog", "cat", "hen"]; a.length; // 3
-
-
数组的长度(length) 是比数组最大索引值多一的数(数组的元素个数并不一定等于数组的长度)
var a = ["dog", "cat", "hen"]; a[100] = "fox"; a.length; // 101







网友评论