Object.prototype.toString.call(obj)检测对象类型与obj.tostring()
js / 2017-9-28 11:47:41 910 views

使用typeof bar === “object”检测”bar”是否为对象有什么缺点?如何避免? 这是一个十分常见的问题,用 typeof 是否能准确判断一个对象变量,答案是否定的,null 的结果也是 object,Array 的结果也是 object,有时候我们需要的是 “纯粹” 的 object 对象。如何避免呢?比较好的方式是: console.log(Object.prototype.t…

js中的数值转换Number(),parseInt(),parseFloat详解
js / 2017-9-27 23:11:57 752 views

有3个函数可以把非数值转换为数值:Number(),paresInt(),parseFloat(); Number()可以用于任何数据类型, paresInt(),parseFloat()专门用于把字符串转换成数值 Number()函数的转换规则 如果是布尔值,true,false分别转换为1,0 如果是数字值,只是简单的传入和返回。 如果是null值,返回0. 如果是undefined,返回Na…

JavaScript 运行机制详解:Event Loop
js / 2017-9-25 15:39:22 784 views

一、为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊。 JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定JavaScript…

HTTP协议详解
日常笔记 / 2017-9-22 15:09:16 911 views

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提…

Javascript 严格模式use strict详解
js / 2017-9-21 15:39:08 746 views

1.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:”严格模式”(strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。   2.为什么用严格模式 – 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为; – 消除代码运行的一些不安全之处,保证代码运行的安全; – 提高编译器效率,增加运行速度; – 为未来新版…

js算法 二分查找,快速排序,归并排序
算法 / 2017-9-21 11:30:03 461 views

二分查找 // 非递归算法 function binary_search(arr, key) { var low = 0, high = arr.length – 1; while(low <= high){ var mid = parseInt((high + low) / 2); if(key == arr[mid]){ return mid; }else if(key > arr…

js继承,原型对象的问题
日常笔记 / 2017-9-18 22:47:37 785 views

原型对象的问题 1>.它省略了构造函数传递初始化参数这一环节,结果所有实例默认情况下都将取得相同的属性值。 2>.原型模式的最大问题是由其共享的本性所导致的。 原型中所有属性是被很多实例所共享的,这种共享对于函数非常合适,对于那些包含基本值的属性倒也说的过去,通过在实例上添加一个同名属性,可以隐藏原型中的对应属性。然而对于包含引用类型值的属性来说,问题就比较突出了。 function …