JavaScript知识点
  p8RyuvESu2pg 2023年11月19日 59 0

JavaScript中的虚值

const falsyValues = ["",0,null, undefined,NaN, false];

简单的来说虚值就是是在转换为布尔值时变为false的值。

如何检查值是否虚值

使用Boolean 函数或者!!运算符。

use strict

"use strict”是ES5特性,它使我们的代码在函数或整个脚本中处于严格模式。严格模式帮助我们在代码的早期避免bug,并为其添加限制。

严格模式的—些限制

1、变量必须声明后再使用

2、函数的参数不能有同名属性,否则报错

3、不能使用with语句

4、不能对只读属性赋值,否则报错

5、不能使用前缀0表示八进制数,否则报错

6、不能删除不可删除的属性,否则报错

7、不能删除变量delete prop,会报错,只能删除属性delete global[prop]

8、eval不能在它的外层作用域引入变量

9、eval和arguments不能被重新赋值

10、arguments不会自动反映函数参数的变化

11、不能使用arguments.callee

12、不能使用arguments.caller

13、禁止this指向全局对象

14、不能使用fn.caller和fn.arguments获取函数调用的堆栈

15、增加了保留字(比如protected、 static和interface)

设立”严格模式”的目的

1、消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;

2、消除代码运行的一些不安全之处,保证代码运行的安全;

3、提高编译器效率,增加运行速度;

4、为未来新版本的Javascript做好铺垫。

JavaScript中this值

基本上,this指的是当前正在执行或调用该函数的对象的值。this值的变化取决于我们使用它的上下文和我们在哪里使用它。

Function.prototype.apply方法的用途

apply()方法调用一个具有给定this值的函数,以及作为一个数组(或类似数组对象)提供的参数。

Function.prototype.call方法的用途

call()方法使用一个指定的this值和单独给出的一个或多个参数来调用一个函数。

Function.prototype.apply和Function.prototype.call的区别

apply()方法可以在使用一个指定的this值和一个参数数组(或类数组对象)的前提下调用某个函数或方法。call()方法类似于apply(),不同之处仅仅是call()接受的参数是参数列表。

Function.prototype.bind的用途

bind()方法创建一个新的函数,在 bind()被调用时,这个新函数的this被指定为bind()的第一个参数,而其余参数将作为新函数的参数,供调用时使用。

高阶函数

高阶函数只是将函数作为参数或返回值的函数。

手动实现Array.prototype.map方法

map()方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

手动实现Array.prototype.filter方法

filter()方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素。

手动实现Array,prototype.reduce方法

reduce()方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。

如何创建一个没有prototype(原型)的对象

我们可以使用Object.create方法创建没有原型的对象。

ES6或ECMAScript 2015的新特性

1、箭头函数

2、类

3、模板字符串

4、加强的对象字面量

5、对象解构

6、Promise

7、生成器

8、模块

9、Symbol

10、代理

11、Set

12、函数默认参数

13.、rest和展开

14、块作用域

var,let和const的区别

var声明的变量会挂载在window上,而let 和 const声明的变量不会

箭头函数

箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this , arguments,super或new.target。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
p8RyuvESu2pg
作者其他文章 更多