你不知道的JS
主要是介绍js的一些不容易理解容易出错的内容,一<你不知道的javascript>为参考的
liukai6
这个作者很懒,什么都没留下…
展开
-
Js中被转换为false的值
JavaScript 中的值可以分为以下两类: 可以被强制类型转换为 false 的值 其他(被强制类型转换为 true 的值) JavaScript 规范具体定义了一小撮可以被强制类型转换为 false 的值。 ES5 规范 9.2 节中定义了抽象操作 ToBoolean ,列举了布尔强制类型转换所有可能出现的 结果。 以下这些是假值: • undefined • null •原创 2018-05-02 19:30:44 · 2050 阅读 · 0 评论 -
es6的箭头函数
箭头函数 ES6 最有意思的一个新部分就是箭头函数( arrow function )。箭头函数正如名称所示那样 使用一个“箭头”( => )来定义,但它的行为在很多重要方面与传统的 JS 函数不同: 没有 this 、 super 、 arguments ,也没有 new.target 绑定: this 、 super 、 arguments 、以及函数内部的原创 2018-04-28 23:08:13 · 463 阅读 · 0 评论 -
js的错误处理机制
在我们使用js的错误机制的时候,先了解语法try { //可能会导致错误的代码 } catch (error) { //在发生错误时,执行的代码 }如果在try语句块中发生任何错误,都会推出代码的执行,然后执行catch里的代码. 我们也可以在catch中执行错误的具体信息.其中还有一个重要的部分finally部分finally的特点是无论是否有错误,在最后他都会执行成功.这就是f原创 2018-04-26 20:38:21 · 283 阅读 · 0 评论 -
js常见的三种错误类型
错误的处理核心是知道哪里发生了错误类型转换错误类型转换的错误主要发生在使用某些操作符,自动转换值得数据类型或者语言结构 例如使用’==’和’===’造成的问题数据类型的错误由于js的类型是松散,在比较的时候确定他数据类型的正确性通信错误发送的url编码有问题造成额错误,服务器相应的数据不正确,等等这些都是通信错误.原创 2018-04-26 21:47:31 · 579 阅读 · 0 评论 -
JS中location对象的属性
在js中location的对象的属性hash ‘#contents’ 返回url中hash(#)后面,如果url不包含散列,则返回空字符串host ‘www.host.com:80’ 返回的是服务器名称和端口号(如果有)hostname ‘www.host.com’ 返回的是不带端口号的服务器名称href ‘http://www.host.com’ 返回的是当前加载页面的完整的url原创 2018-04-27 21:22:34 · 1095 阅读 · 0 评论 -
js中定义函数的方法
定义函数的方法函数声明我们采用的例如:function foo() { alert('声明过了'); }这样我们已经声明了一个函数函数的表达式我们同样举一个例子var foo = function() { //函数体 };这样做其实就是一个赋值语句,由于他创建的函数function后面没有函数名所以创建的为匿名函数(有时也叫拉姆达函数)这样使用我们需要注意的是,在使用函数前,我们一定原创 2018-04-24 20:27:40 · 1993 阅读 · 0 评论 -
JS中提升现象
在js中有一种有趣的现象叫做提升具体的解释是在js变量和函数声明从他们代码中出现的位置被”移动”到了最上面,这个过程叫做提升. 下面是示例代码:foo(); function foo() { console.log( a ); //undefined var a = 2; }实际的上面函数的执行顺序为function foo() { var a; console.l原创 2018-04-21 22:48:14 · 302 阅读 · 0 评论 -
js中的函数优先原则
在js中函数声明和变量都会被提升,但是函数会被优先提升,然后才是变量下面我们贴出我们的示例代码foo();//1 var foo; function foo() { console.log( 1 ); } foo = function() { console.log( 2 ); }我们使用js引擎会按照下面进行去理解function foo() { console.log(原创 2018-04-21 22:56:37 · 1723 阅读 · 0 评论 -
JS模块必备的两个条件
我们在编写js的模块注意的两个必要条件 必须有外部封闭函数,该函数必须至少被调用过一次(每次调用都会创建一个新的模块实例). 封闭函数必须返回至少一个内部函数,这样内部函数才能在私有作用域中形成闭包,并且可以访问或者修改私有的状态. 下面写个例子 function abcModule() { var something = 'abc'; function doSomething()原创 2018-04-22 13:48:26 · 427 阅读 · 1 评论 -
JS的垃圾回收机制
内存生命周期首先,不管什么程序语言,内存生命周期基本是一致的: 分配你所需要的内存 使用分配到的内存(读、写) 不需要时将其释放归还 在所有语言中第一和第二部分都很清晰。最后一步在低级语言中(C语言等)很清晰,但是在像JavaScript 等高级语言中,这一步是隐藏的、透明的。因为JavaScript 具有自动垃圾收集机制(Garbage collected )。在编写 JS 时,不需要关心内存使原创 2018-04-23 05:43:30 · 911 阅读 · 0 评论