变量的作用域有两种:全局变量和局部变量。本文主要和大家分享JS中的变量作用域深入解析,希望能帮助到大家。全局变量最外层函数定义的变量拥有全局作用域,即对任何内部函数来说,都是可以访问的:var n=10;function f1(){console.log(n);}f1(); // 输出10,说明全局变量n在函数内部被读取局部变量局部变量:在函数内部声明的变量。函数内部的变量,外部无法读取。function f1(){var n=10;}console.log(n); // 没有定义,说明函数内...
MockJS是一种比较通用的前端模拟HTTP请求及回复的工具,能够仿真处各类HTTP的请求及返回结果。实现在无后端的情况下,前端对于后端接口的仿真。Mock的基础使用也是比较简单,本文我们主要和大家分享Mock.JS拦截HTTP请求实例解析,希望能帮助到大家。但,在引入MockJS时,import Mock from mockjs会拦截所有前端发出的HTTP请求,无论是否使用Mock.mock开启Mock仿真,都会拦截HTTP请求。 这也就是为何,就算不Mock.mock也会后端无法获...
事件(Event)是JavaScript应用跳动的心脏 ,也是把所有东西粘在一起的胶水。当我们与浏览器中 Web 页面进行某些类型的交互时,事件就发生了。事件可能是用户在某些内容上的点击、鼠标经过某个特定元素或按下键盘上的某些按键。事件还可能是 Web 浏览器中发生的事情,比如说某个 Web 页面加载完成,或者是用户滚动窗口或改变窗口大小。通过使用 JavaScript ,你可以监听特定事件的发生,并规定让某些事件发生以对这些事件做出响应。今...
CKEditor即大名鼎鼎的FCKeditor,该公司的另一个产品为CKFinder(一个Ajax文件管理器)。ckeditor是一款功能强大的富文本编辑工具,这篇文章主要为大家详细介绍了ckeditor自定义插件的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下ckeditor是一款功能很强大的富文本编辑的工具,给我们提供了绝大多数功能,满足我们日常开发所用,但由于特殊情况,可能会需要修改ckeditor的插件。ckeditor提供了给我们很方便扩展插件...
先来看一个问题:如何理解Array.apply(null, {length:5})的{length:5}?本文主要和大家分享JavaScript中Array.apply解析,希望能帮助到大家。我测试过Array.apply(null, {length:5}) //返回[undefined, undefined, undefined, undefined, undefined] Array.apply(null, [{length:5}])和Array({length:5})返回的结果是一样的,为[[object Object] { length: 5 }]第二、三还能理解!第一种怎么理解?实际 这个 和 Array 没有任何关系,...
js逻辑运算符有三个:逻辑非!、逻辑与&&、逻辑或||。所谓短路操作就是, 当&&的第一个操作数的值是false时,直接返回第一个操作数的值,不再对第二个操作数进行计算; var bar1 = 0&&c; console.log(bar1=====+bar1); //bar1=====0var foo1 = 5&&c; console.log(foo1====+foo1); //报c is not defined错误。当||的第一个操作数的值是true时,直接返回返回第一个操作数的值,不再对第二个操作数进行计算;var foo = 5...
JavaScript 是单线程运行,异步操作特别重要。本文主要和大家介绍了Node 定时器的相关知识,只要用到引擎之外的功能,就需要跟外部交互,从而形成异步操作。由于异步操作实在太多,JavaScript 不得不提供很多异步语法。Node 的异步语法比浏览器更复杂,因为它可以跟内核对话,不得不搞了一个专门的库 libuv 做这件事。这个库负责各种回调函数的执行时间,毕竟异步任务最后还是要回到主线程,一个个排队执行。为了协调异步任务,Nod...
在我们开发的时候,经常会遇到undefined的情况,本文主要和大家分享js中undefined问题的总结,希望能帮助到大家。 //1.变量声明了但是没赋值 解析器会给一个默认值 就是undefinedvar a;console.log(a);//2.数组中 某一项没有值 值是undefinedvar arr = [1, 2, 3];console.log(arr[10]);//3.形参接收不到值 接收到的就是undefinedfunction fn(a, b) {console.log(b);}fn(1);//4.函数没有返回值 相当于返回了undefinedconsole.log(fn...
Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。这篇文章给大家介绍Es6 Generator函数的相关知识,希望能帮助到大家。ECMAScript 6 (简称 ES6 )作为下一代 JavaScript 语言,将 JavaScript 异步编程带入了一个全新的阶段。Generator函数跟普通函数的写法有非常大的区别:一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield语句,定义不同的内部状态(yield在英语里的意思就...
本文主要和大家介绍了Node.js中的Async和Await函数的相关知识,你将学习如何使用Node.js中的async函数(async/await)来简化callback或Promise.非常不错,具有参考借鉴价值,需要的朋友可以参考下,希望能帮助到大家。异步语言结构在其他语言中已经存在了,像c#的async/await、Kotlin的coroutines、go的goroutines,随着Node.js 8的发布,期待已久的async函数也在其中默认实现了。Node中的async函数是什么?当函数声明为一个Async函数...
本文主要和大家分享js原型和call(),我们对js原型和call()做了一个小总结,希望能帮助到大家。/* 原型也是一个对象 把共有的属性或者方法放在原型中 *///Person.prototype 原型 /*Person.prototype = { } 祖先*/ Person.prototype.name = "这是祖先的名称 "; /*多个属性可以这样定义*/ Person.prototype = {age : 20,sex :"女",constructor : Car } /*构造函数*/ function Person(sex){this.sex =sex; }function Car() { }/*子...
"数组去重" 是实际应用中常用的操作,出现在面试题中的概率也很高,今天简述一下 Python 和 JavaScript 中数组去重的方法,希望能帮助到大家。python数组去重>>> a = [9,8,7,9,7,1,2,1,2,5,3] >>> new_a = list(set(a)) >>> new_a [1, 2, 3, 5, 7, 8, 9] #此时new_a未保持原有的顺序,对new_a进行排序 >>> new_a.sort(key = a.index) >>> new_a [9, 8, 7, 1, 2, 5, 3]JavaScript数组去重<!DOCTYPE html> <html lang="en"> <head><m...
Javascript中数字存储使用的是IEEE754 64位双精度浮点数在计算机中存储为64位1 11 521: 符号位 0正数 1负数11: 指数位 用来确定范围52: 尾数位 用来确定精度转成十进制表示法为num = (-1)^s * (1.f) * 2^E E = e - 1023 s:符号位 e:指数位 f:尾数位 1023偏正值 使得指数位真实取值为[-1023, 1024] 而非 [0, 2047] 目的是为了方便比较大小 实际指数值 = 阶码 - 偏正值 阶码 = 指数的移码 - 1 移码与补码符号为互为取反 举例: 如果指...
事件是在编程时系统内发生的动作或者发生的事情. 系统通过它来告诉编程者,在编程者愿意的情况下,编程者一某种方式对它做出回应.本文主要和大家分享JavaScript事件解析,希望能帮助到大家。添加事件方式元素属性var btn = document.querySelector(button);btn.onclick = function() { var rndCol = rgb( + random(255) + , + random(255) + , + random(255) + ); document.body.style.backgroundColor = rndCol;}或者var btn = do...
大家都知道nodejs很快,为什么会这么快呢,原因就是node采用异步回调的方式来处理需要等待的事件,使得代码会继续往下执行不用在某个地方等待着。但是也有一个不好的地方,当我们有很多回调的时候,比如这个回调执行完需要去执行下个回调,然后接着再执行下个回调,这样就会造成层层嵌套,代码不清晰,很容易进入“回调监狱”,就容易造成下边的例子:async(1, function(value){async(value, function(value){async(value, functio...