当前位置:   article > 正文

JS基础_promopt列表

promopt列表

1995年 Brendan Eich

js由DOM(文档对象模型) BOM(浏览器对象模型) ECMAScript(标准)组成

数据类型
基本
number string boolean null undefined
引用
object
ES6新增(不会重复的数据)
Symbol

注: typeof NaN == “number”
typeof null == “object”
typeof返回值为字符串

运算符的优先级
() > 自增自减 > 算术 > 关系(! > && >||) > 逻辑 > 三目 > 赋值

js预解析
在当前作用域中,JavaScript代码执行之前,浏览器首先会默认的把所有带var和function声明的变量进行提前的声明或者定义(函数比变量更先提升,重名则函数覆盖掉变量)

js事件
onmouseover(鼠标滑入元素和元素的子元素都会触发)
onmouseenter(鼠标滑入瞬间触发,不包括子元素)
onmouseout(鼠标移出元素时触发,包括子元素)
onmouseleave(鼠标移出元素时触发,不包括子元素)

数组方法
push() 向尾部添加新元素,返回新lenth
pop() 从尾部删除元素,返回被删元素
unshift() 向头部添加一个或多个元素,返回新length
shift() 删除数组的第一个元素,返回新length
splice(start,legth,item1,…,itemx) 删除从start开始(包括start)指定长度的元素,然后在start位置添加item元素,不加length则删除后面全部,返回值为被删元素
reverse() 将数组倒序排列后返回(原数组会被改变)

slice(start,end)  截取start位置到end位置(不包括start),返回被截取部分
join("任意符号")   使用"任意符号"将数组元素连接成一个字符串
arr.concat(brr,brr,...)  将一个或多个数组所有元素拼接到arr后面并返回(实际不改变原arr)

sort() 数组自带排序方法,默认按字符排列,会自动把数字转换为字符
  • 1
  • 2
  • 3
  • 4
  • 5

堆和 栈
堆 (heap)
用于引用数据类型(数组,对象,函数)分配空间,由程序员分配释放,从栈内存指向堆内存的数据结构

栈(stack)
    用于存放基本数据类型,由编译器自动分配释放,一种先进后出的数据结构;
  • 1
  • 2

浅拷贝和深拷贝
浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同)。对其中任何一个对
象的改动都会影响另外一个对象。
深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。

遍历
1.for

2.for...of...(ES6新增,不支持遍历对象)
    遍历数组的元素
    可以正确响应break,continue,return
    性能好于for in 弱于for

3.for...in...
    遍历索引(可以用来遍历对象)

4.forEach   arr.forEach((item,index,arr) => {     })
    数组自带方法,可以遍历值和下标
    性能略弱于for循环,无法中断循环

5.some   arr.some((item,index,arr) => {return 条件})
    数组自带方法,用来检测数组是否有满足一些条件的存在,有则返回true

6.every  arr.every((item, index, arr) => {return 条件})
    数组自带方法,用来检测是否所有元素都满足条件

7.filter  arr.filter(item => {return 条件})
    找出所有符合条件的元素并组成新数组

8.map   arr.map(item => {return 条件})
    返回处理过的新数组

9.reduce(归并) array.reduce(function(total, item, index, arr), initialValue)
    作用:计算数组元素相加后的总和 
    function getNum(total,item){
        return total+item;
    }
    console.log(arr.reduce(getNum));
        total	必需。初始值, 或者计算结束后的返回值。
        item	必需。当前元素
        index	可选。当前元素的索引
        arr	可选。当前元素所属的数组对象。
        initialValue	可选。传递给函数的初始值
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

内置对象Global Array String Math Date 正则(RegExp)

String(字符串对象)
构造对象 var str = new String(“kfew”);
字面量 var str = “kfew”;

属性:length
方法:charAt(index);//返回index位置的字符,若位置无字符则返回null
charCodeAt(index);//返回指定位置的ASCII码
fromCharCode(ASCII值);//根据ASCII码获得字符
substr(start,length);//截取从start开始指定长度的字符,length可为负
substring(start,end);//不包含end
split(“a”);//以关键字符作为切割依据转化为数组
replace(需替换字符,替换字符);//返回替换后的新字符串,可用正则一次替换多个
toLowerCase();//转化为小写
toUpperCase();//转化为大写

Math(数学对象)
方法:
floor(); 向下取整
ceil(); 向上取整
round(); 四舍五入
sqrt(); 开平方
pow(); m的n次方
min(a,b,…); 求最小值
min.apply(null,arr); 求数组最小值
max(a,b,…); 求最大
random(); 得到一个[0,1)之间的随机数

Date(时间对象)

事件

事件委托(事件代理)

  • 原理:事件冒泡机制----利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。
  • 优点:

1.大量减少内存占用,减少事件注册。

2.新增元素实现动态绑定事件

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/316993
推荐阅读
相关标签
  

闽ICP备14008679号