摘要:
ECMA-262 描述了一组用于操作数据值的操作符,包括一元操作符、算数操作符逻辑操作符、关系操作符、赋值操作符、字符串操作符、对象操作符等。ECMAScript 操作符的与众不同之处在于,它们能够适用于很多值,例如字 符串、数字值、布尔值,甚至对象。不过,在应用于对象时,相应的操作符通常都会调用对 阅读全文
摘要:
先举个栗子,如下: 想必很多人看到立马能看出答案吧,但是为什么定时器不能依次打印出0, 1,2,3,4呢?答案稍后分晓。 那到底怎么才能依次输出我们想要的结果呢?大家可能都想到是利用闭包,或者是利ES6中的let声明,再或者可以用Promise, 如果还不过瘾就用ES7 的async或者await; 阅读全文
摘要:
在其他高级语言中,都有模块中这个概念,比如java的类文件,PHP有include何require机制,JS一开始就没有模块这个概念,起初,js通过<script>标签引入代码的方式显得杂乱无章,语言自身也缺乏组织和约束能力,所以人们不得不以各种命名空间等方式认为的约束代码,达到安全易用的目的。经历 阅读全文
摘要:
git添加远程库的时候有可能出现如下的错误, 怎么解决? 只要两步: 1、先删除 2、再次执行添加就可以了。 git常用操作 说明,以下整理来自廖雪峰大神的《git教程》。 各位童鞋要下载git但是网速不给力的,可以从这里下载:https://pan.baidu.com/s/1qYdgtJY 1、安 阅读全文
摘要:
在看函数的arguments对象的时候,用了arguments.callee写了一个递归。 当执行函数func(99999)时候,直接报错了,一看,原来栈溢出了。 当执行递归运算的时候,忘记加点判断条件,出现死循环。栈溢出就是调用堆栈不断地增长,直到达到一个限制,浏览器硬编码的堆栈大小或内存耗尽。 阅读全文
摘要:
之前看过一段代码,大概是是这样: 咋看一下也没啥毛病,程序也能跑起来,但是看着看着我就纠结起来了,如果变量数量很多呢?在循环中不断声明变量,这样好么? 仔细看上面的代码,其实我们不妨在函数的顶部先定义这些变量,这个的好处是什么呢? 在each的函数内部反复声明变量,变量在当前函数使用完之后就被内存释 阅读全文
摘要:
一、前言 forEach()和map()两个方法都是ECMA5中Array引进的新方法,主要作用是对数组的每个元素执行一次提供的函数,但是它们之间还是有区别的。jQuery也有一个方法$.each(),长得和forEach()有点像,功能也类似。但是从本质上还是有很大的区别的,那么我们探探究竟。 二 阅读全文
摘要:
一、前言 ECMAScript中的函数是对象,因此函数也有属性和方法。每个函数都包含两个属性:length和prototype。每个函数也包含两个非继承来的方法:apply()和call(),还有一些继承而来的方法,比如valueOf()等。 二、函数属性:length、prototype 2.1、 阅读全文
摘要:
大家应该都有听过,nodejs性能优越,并发也很好之类的话,那我们用Apache ab对node这个空框架测试一下,然后再对一些网站测试一下,或或少一定的参考意义把。 Apache ab测试工具是模拟多线程并发请求,就是有n多请求同时向服务器发送,同时也使得ab成为某些网络攻击的工具。 话不多少,直 阅读全文
摘要:
前面《变量的赋值和对象的赋值》中有用到typeof运算符去判断运算数的类型,结果如下: 其中,typeof {}和typeof []的结果都是object,那么问题来了,我怎么通过typeof去判断一个对象是不是数组类型呢? 对象是对象,数组也是对象,js中万物皆对象,很显然,通过简单的typeof 阅读全文