JS
weixin_53010985
这个作者很懒,什么都没留下…
展开
-
回调函数
函数实际上是对象:它们能被“存储”在变量中,能作为函数参数被传递,能在函数中被创建,能从函数中返回;回调函数一个函数被作为参数传递给另一个函数(在这里我们把另一个函数叫做“otherFunction”),回调函数在otherFunction中被调用。注意到click方法中是一个函数而不是一个变量//它就是回调函数$("#btn_1").click(function() { alert("Btn 1 Clicked");}); //或者function click(.原创 2020-12-19 16:46:09 · 112 阅读 · 0 评论 -
变量提升和 this 指向
变量提升和 this 指向的细节变量声明提升大部分编程语言都是先声明变量再使用,但在 JS 中,事情有些不一样:console.log(a); // undefinedvar a = 10;上述代码正常输出undefined而不是报错Uncaught ReferenceError: a is not defined,这是因为声明提升(hoisting),相当于如下代码:var a; //声明 默认值是undefined “准备工作”console.log(a);a = 10; //赋值原创 2020-12-19 16:43:07 · 46 阅读 · 0 评论 -
执行期上下文
前言如果你是一名 JavaScript 开发者,或者想要成为一名 JavaScript 开发者,那么你必须知道 JavaScript 程序内部的执行机制。执行上下文和执行栈是 JavaScript 中关键概念之一,是 JavaScript 难点之一。 理解执行上下文和执行栈同样有助于理解其他的 JavaScript 概念如提升机制、作用域和闭包等。本文尽可能用通俗易懂的方式来介绍这些概念。一、执行上下文(Execution Context)什么是执行上下文简而言之,执行上下文就是当前 JavaS原创 2020-12-19 16:43:52 · 136 阅读 · 0 评论 -
深入理解JavaScript作用域和作用域链
前言JavaScript 中有一个被称为作用域(Scope)的特性。虽然对于许多新手开发者来说,作用域的概念并不是很容易理解,本文我会尽我所能用最简单的方式来解释作用域和作用域链,希望大家有所收获!作用域(Scope)什么是作用域作用域是在运行时代码中的某些特定部分中变量,函数和对象的可访问性。换句话说,作用域决定了代码区块中变量和其他资源的可见性。可能这两句话并不好理解,我们先来看个例子:function outFun2() { var inVariable = "内层变量2";}原创 2020-12-19 16:44:20 · 37 阅读 · 0 评论 -
=> js 中箭头函数使用总结
x => x * x 相当于 function(x){return x*x}箭头函数相当于 匿名函数, 简化了函数的定义。 语言的发展都是倾向于简洁 对人类友好的, 减轻工作量的。 就相当于我最钟情的python, 有很多类似之处, 在 关于promise 文章中我会和Python 框架中的tornado 中的异步进行对比的, 很相似。箭头函数有两种格式, 一种只包含一个表达式,没有{…} 和 return 。 一种包含多条语句, 这个时候{} return 就不能省略x => {转载 2020-12-19 16:44:40 · 98 阅读 · 0 评论 -
let关键字
JavaScript中使用var定义变量可能存在的问题var定义的变量没有块作用域var定义的全局变量会自动添加全局window对象的属性var定义的变量会提前装载而let关键字的出现解决了以上的问题: <script type="text/javascript"> for( let i = 0;i<10;i++){ conso转载 2020-12-19 16:44:53 · 75 阅读 · 0 评论 -
数组排序
实际开发中不是每个都用,只是一种思想呈现。1、桶排序(桶中出现的数组元素都做个标记1,然后将桶数组中有1标记的元素依次打印)//简单, 但是不用,浪费内存var arr2=[];for(var i=0;i<arr.length;i++){ var key=arr[i]; arr2[key]=1;}for(var j in arr2){ console.log(j);}2、冒泡排序(每一趟找出最大的)//性能一般var arr=[1,5,7,9,16,2,4原创 2020-12-19 16:45:37 · 74 阅读 · 0 评论