js基本知识点

依据百度学院的教程温习下js基本,在这里做一个汇总笔记

1.数据范例、推断

最新的 ECMAScript 范例定义了 7 种数据范例:

  • string

  • number

  • boolean

  • undefined

  • null

  • symbol(new in ECMAScript 6)

  • object
    注重:function array 皆是对象

1.1 数据的定义

  • null&undefined的区分和联络
    undefined:未定义,没有被赋值的变量默认值是undefined
    null:不存在

null == undefined // true
null === undefined // false
  • 定义对象

    • 接见对象属性&罗列

person.name // feifei
person["name"] // 在方括号内以字符串情势接见属性

var key = 'name'
person[key] //feifei

hasOwnProperty(obj.key)//检测key属性是不是,是对象本身的属性值
forin,遍历对象的一切属性,包含原型链对象上的属性。+hasOwnProperty,遍历对象本身属性。
注重:forin,乱序遍历对象属性。
for (var i in obj) {
    if (obj.hasOwnProperty(i)) {
        console.log(i)
    }
  }
注重:由于for in 会遍历全部原型链的一切属性值,所以效力较for轮回慢了许多。

相干要领:Object.keys(),Object.getOwnPropertyNames()有空看

  • 删除对象属性:delet obj.key。注重,把属性设置为undefined或null是无效的

  • 定义数组
    数组能够保留任何值,而且能够夹杂保留

//2种要领建立数据, 组织函数和数组直接量,它们的区分?
var colors = new Array()//建立空数组
var colors = new Array(20)//传数值,建立length 20
var colors = new Array("red","blue","yellow")//
注重:可省略new字符
var colors = [];
var colors = ["red","blue","yellow"];
var a = [1,2,3];
[1,2,3].join //返回'1,2,3'
[1,2,3].concat(4,5)//返回新数组,[1,2,3,4,5]
[1,2,3].slice(0,2)//返回拷贝的新数组
//splice能够删除、插进去、替代, 在原数组上修正
[1,2,3].splice(0,1)//[2,3]
[1,2,3].splice(0,0,0)//[0,1,2,3]
[1,2,3].splice(0,1,1)//[0,2,3]
[1,2,3].reverse//[3,2,1]

1.2 数据的推断

  • 相称和比较 == & ===,引荐===

  • typeof,现实运用场景检测一个对象是不是已定义或许是不是已赋值,而不是搜检数据范例

  • instanceof
    一些罕见的考核点:

  • 数组的推断

2.js基本

  • ==与===的区分
    == equality 同等,=== identity 恒等。
    ==, 双方值范例差别的时刻,要先举行范例转换,再比较。
    ===,不做范例转换,范例差别的肯定不等

3.dom操纵

4.事宜机制

几个观点:事宜流,事宜冒泡,事宜捕捉
addEventListener(event,listener)&attachEvent(“on”+event,listener)

5.原型继续面向对象

  • 前端模块化(amd&cmd范例)

  • 列表项目

6.闭包

7.this

8.跨域

    原文作者:EMMA
    原文地址: https://segmentfault.com/a/1190000003869870
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞