您的位置:首页 > Web前端 > JavaScript

JavaScript 基础(笔记)

2017-11-22 13:27 309 查看

JavaScript 基础

动态语言

String

ES6里多行字符串可以用反引号 `…`表示。

ES6 模板替换, console.log(
hello ${name}, you are ${age} years old now!
);

Array

var array = [1, 44, ‘hello’, null, true];
array.length;


请注意,直接给
Array
length
赋一个新的值会导致
Array
大小的变化.

如果通过索引赋值时,索引超过了范围,同样会引起
Array
大小的变化.

对象

JavaScript用一个{…}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。注意,最后一个键值对不需要在末尾加,,如果加了,有的浏览器(如低版本的IE)将报错。

属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用
''
括起来.
xiaohong
的属性名
middle-school
不是一个有效的变量,就需要用”括起来。访问这个属性也无法使用.操作符,必须用
['xxx']
来访问

var xiaohong = {
name: '小红',
'middle-school': 'No.1 Middle School'
};


要检测xiaoming是否拥有某一属性,可以用
in
操作符.

要判断一个属性是否是
xiaoming
自身拥有的,而不是继承得到的,可以用
hasOwnProperty()
方法.

条件判断

JavaScript
null
undefined
0
NaN
和空字符串
''
视为
false
,其他值一概视为
true


循环


for
循环的一个变体是
for ... in
循环,它可以把一个对象的所有属性依次循环出来;

由于
Array
也是对象,而它的每个元素的索引被视为对象的属性,请注意,
for ... in
Array
的循环得到的是
String
而不是
Number


Map & Set

Map和Set是ES6标准新增的数据类型.

初始化
Map
需要一个二维数组,或者直接初始化一个空
Map
.

var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
m.get('Michael'); // 95


创建一个
Set
,需要提供一个
Array
作为输入,或者直接创建一个空
Set
.

var s1 = new Set(); // 空Set
var s2 = new Set([1, 2, 3]); // 含1, 2, 3


iterable

为了统一集合类型,ES6标准引入了新的
iterable
类型,
Array
Map
Set
都属于
iterable
类型。

for ... in
for ... of
.

更好的方式是直接使用
iterable
内置的
forEach
方法,它接收一个函数,每次迭代就自动回调该函数.

'use strict';
var a = ['A', 'B', 'C'];
a.forEach(function (element, index, array) {
// element: 指向当前元素的值
// index: 指向当前索引
// array: 指向Array对象本身
console.log(element + ', index = ' + index);
});


参考:https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript