JavaScript 基础(笔记)

JavaScript 基础

动态语言

String

ES6里多行字符串可以用反引号 `…`表示。
ES6 模板替换, console.log(hello ${name}, you are ${age} years old now!);

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

请注意,直接给Arraylength赋一个新的值会导致Array大小的变化.
如果通过索引赋值时,索引超过了范围,同样会引起Array大小的变化.

对象

JavaScript用一个{…}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。注意,最后一个键值对不需要在末尾加,,如果加了,有的浏览器(如低版本的IE)将报错。
属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用''括起来.xiaohong的属性名middle-school不是一个有效的变量,就需要用”括起来。访问这个属性也无法使用.操作符,必须用['xxx']来访问

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

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

条件判断

JavaScriptnullundefined0NaN和空字符串''视为false,其他值一概视为true

循环

for循环的一个变体是for ... in循环,它可以把一个对象的所有属性依次循环出来;
由于Array也是对象,而它的每个元素的索引被视为对象的属性,请注意,for ... inArray的循环得到的是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类型,ArrayMapSet都属于iterable类型。
for ... infor ... 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值