
编写高质量js
文章平均质量分 61
btshjhewei
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
js中的字符串长度
众所周知String对象的length属性能够返回字符串的长度,不管字符是单字节还是双字节,都作为一个长度单位来计算。因此要准确的获取字符长度,必须通过手工来写。 下面介绍两种方式: 1、循环遍历字符串,根据字符的编码,来判断当前字符是双字节还是单字节,然后递加字符串的字节数。 String.prototype.lengthSingle = function(str){ var b = 0;原创 2015-12-29 11:08:45 · 8481 阅读 · 0 评论 -
改善javaScript118个建议-检测内置的数据类型
改善javaScript118个建议-检测内置的数据类型使用typeof运算符返回一个用于识别其运算数据类型的字符串。对于任何变量来说,使用typeof运算符总是以字符串的形式返回以下6种类型之一: “number” “string” “boolean” “object” “function” “undefined” 不幸的是,使用typeof检测null,返回的是“object”,而不是”nul翻译 2015-12-07 14:02:20 · 446 阅读 · 0 评论 -
几种检验数字的方法区别 isNaN、isFinite
isNaN(): 首先认识NaN , NaN是IEEE 754定义的一个特殊数值。它不表示一个数字。尽管下面的表达式返回的是true typeof NaN ==='number' ;//返回true NaN产生的情况有两种: 1、在对非数字进行数字转换的时候。比如:parseInt('runningSnail'); 返回NaN 2、在做数学元算的时候,有参与计算的元素为NaN原创 2015-12-08 12:38:45 · 8453 阅读 · 0 评论 -
动态调用函数:再解apply和call
在开发过程中,特别是复杂控件封装时,常会用到动态调用函数。那么动态调用函数实则就是利用call和apply方法来实现的。 call和apply的区别 其实call和apply基本没有什么太大的区别,只是传递给函数的参数方式不同罢了。apply是以数组的形式进行的参数传递,而call方法可以同时传递多个参数。利用apply以数组的形式进行参数传递的特性,在很多时候能够使我们的程序更优美。比如下面原创 2016-02-17 09:39:07 · 530 阅读 · 0 评论 -
Javascript是单线程的深入分析
本来想总结一下的,网上却发现有人已经解释的很清楚了,特转过来。 这也解释了为什么在用自动化测试工具来运行dumrendtree时设定的超时和测试case设定的超时的关联性。 面试的时候发现99%的童鞋不理解为什么JavaScript是单线程的却能让AJAX异步发送和回调请求,还有setTimeout也看起来像是多线程的?还有non-blocking IO, event loop等概念很转载 2016-06-27 20:45:12 · 465 阅读 · 0 评论 -
理解js中的new
new 操作符 在有上面的基础概念的介绍之后,在加上new操作符,我们就能完成传统面向对象的class + new的方式创建对象,在Javascript中,我们将这类方式成为Pseudoclassical。 基于上面的例子,我们执行如下代码 var obj = new Base(); 这样代码的结果是转载 2016-06-27 21:16:50 · 372 阅读 · 0 评论 -
理解js中的new ——2
1.如果就一个函数,没有返回值,没有prototype成员,然后使用new,会是什么结果呢?如果一个函数没有返回值,那么如果不使用new来创建变量,那么该变量的值为undefined.如果用了new,那么就是Object.说明一个函数的默认的Prototype是Object. 2.如果函数有返回值,但是返回值是基本类型。那么new出来的myTest还是object.因为基本类转载 2016-06-27 21:38:58 · 575 阅读 · 0 评论