资讯专栏INFORMATION COLUMN

js基础知识点

浠ラ箍 / 1115人阅读

摘要:注意乱序遍历对象属性。注意因为会遍历整个原型链的所有属性值,所以效率较循环慢了很多。,不做类型转换,类型不同的一定不等操作事件机制几个概念事件流,事件冒泡,事件捕获原型继承面向对象前端模块化规范列表项目闭包跨域

根据百度学院的教程复习下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"];

数组原生方法:http://yanhaijing.com/javascript/2014/01/17/fun-with-javascript-native-array-functions/

栈和队列.pop,.push,.shift和.unshift

排序.sort

连接.join和合并数组.concat

复制.slice(start,end)

截取.splice(index, howmany, element1, ….., elementX)

逆序.reverse

查找.indexOf(es5)

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.跨域

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/91538.html

相关文章

  • 【连载】前端个人文章整理-从基础到入门

    摘要:个人前端文章整理从最开始萌生写文章的想法,到着手开始写,再到现在已经一年的时间了,由于工作比较忙,更新缓慢,后面还是会继更新,现将已经写好的文章整理一个目录,方便更多的小伙伴去学习。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 个人前端文章整理 从最开始萌生写文章的想法,到着手...

    madthumb 评论0 收藏0
  • 好程序员Web前端培训入门之JS基础知识梳理汇总

    摘要:好程序员前端培训入门之基础知识梳理汇总,前端工程师是当前各大企业都比较稀缺的人才,薪资待遇和就业前景都很不错。作用域链的前端,始终是当前执行代码所在环境的变量对象。   好程序员Web前端培训入门之JS基础知识梳理汇总,Web前端工程师是当前各大企业都比较稀缺的人才,薪资待遇和就业前景都很不错。不论是专业还是非专业,有基础亦或是无基础,都想通过学习Web前端实现高薪就业。不过,学习要一...

    int64 评论0 收藏0
  • 好程序员Web前端培训入门之JS基础知识梳理汇总

    摘要:好程序员前端培训入门之基础知识梳理汇总,前端工程师是当前各大企业都比较稀缺的人才,薪资待遇和就业前景都很不错。作用域链的前端,始终是当前执行代码所在环境的变量对象。   好程序员Web前端培训入门之JS基础知识梳理汇总,Web前端工程师是当前各大企业都比较稀缺的人才,薪资待遇和就业前景都很不错。不论是专业还是非专业,有基础亦或是无基础,都想通过学习Web前端实现高薪就业。不过,学习要一...

    kviccn 评论0 收藏0
  • JS】关于JS的一些识点JS基础,纯记录)

    摘要:如何让根据拆箱转换,以及的隐式转换,可以如下写为什么计算机中所有的数据都是以二进制存储的,所以在计算机计算时要把数据先转换成二进制进行计算,然后把计算结果转换成十进制。会存在精度丢失问题和的二进制都是以无线循环的小数的二进制的二进制 本想着记笔记里,但是笔记里没有分类,还是以文章的形式,当个人总结吧,这一篇就当作JS基础篇的记录吧,有修改的和新增的持续更新~ 关于JS的一些小技巧 1:...

    SwordFly 评论0 收藏0

发表评论

0条评论

浠ラ箍

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<