
Js
西溪漫步
这个作者很懒,什么都没留下…
展开
-
JavaScript方法的4中调用方式
转载自:https://www.jianshu.com/p/56fd37837cc5函数(Function)是JavaScript的基本模块单元,JavaScript的代码重用, 信息隐藏,对象组合等都可以借助函数来实现。调用模式我们知道在函数里可见的名称包括:函数体内声明的变量、函数参数、来自外部的闭包变量。 此外还有两个:this和arguments。this 在面向对象程序设计中非常重要,而它的值在JavaScript中取决于调用模式。 JavaScript中的函数有4种调用模式:方法转载 2020-06-15 10:39:30 · 373 阅读 · 0 评论 -
Javascript网络编程(加密/签名/字节流/gzip)
转载自:https://blog.youkuaiyun.com/weixin_30750335/article/details/96277139Javascript网络编程常用的两种方式短连接xmlhttprequest长连接websocket都需要考虑安全性以下总结两个项目中所使用的相关技术传输类型xmlhttprequestxmlhttprequest.responseType"text"(默认)"json"(对象)"arraybuffer"(二进制字节流)服务.转载 2020-06-15 10:33:41 · 404 阅读 · 0 评论 -
深入理解javascript原型和闭包(11)——执行上下文栈
转载自:http://www.cnblogs.com/wangfupeng1988/p/3989357.html继续上文的内容。执行全局代码时,会产生一个执行上下文环境,每次调用函数都又会产生执行上下文环境。当函数调用完成时,这个上下文环境以及其中的数据都会被消除,再重新回到全局上下文环境。处于活动状态的执行上下文环境只有一个。其实这是一个压栈出栈的过程——执行上下文栈。如下图:...转载 2019-03-07 08:57:13 · 162 阅读 · 0 评论 -
深入理解javascript原型和闭包(12)——简介【作用域】
转载自:http://www.cnblogs.com/wangfupeng1988/p/3991151.html提到作用域,有一句话大家(有js开发经验者)可能比较熟悉:“javascript没有块级作用域”。所谓“块”,就是大括号“{}”中间的语句。例如if语句:再比如for语句:所以,我们在编写代码的时候,不要在“块”里面声明变量,要在代码的一开始就声明好了。以避免发生歧义...转载 2019-03-07 09:01:56 · 99 阅读 · 0 评论 -
深入理解javascript原型和闭包(13)-【作用域】和【上下文环境】
转载自:http://www.cnblogs.com/wangfupeng1988/p/3991995.html上文简单介绍了作用域,本文把作用域和上下文环境结合起来说一下,会理解的更深一些。如上图,我们在上文中已经介绍了,除了全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定了。而不是在函数调用时确定。下面我们将按照程序执行的顺序,一步一步把各个上下文环境...转载 2019-03-07 09:10:05 · 147 阅读 · 0 评论 -
深入理解javascript原型和闭包(14)——从【自由变量】到【作用域链】
转载自:http://www.cnblogs.com/wangfupeng1988/p/3992795.html先解释一下什么是“自由变量”。在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用域来说,x就是一个自由变量。如下图如上程序中,在调用fn()函数时,函数体中第6行。取b的值就直接可以在fn作用域中取,因为b就是在这里定义的。而取x的值时...转载 2019-03-07 09:14:28 · 133 阅读 · 0 评论 -
深入理解javascript原型和闭包(15)——闭包
转载自:http://www.cnblogs.com/wangfupeng1988/p/3994065.html前面提到的上下文环境和作用域的知识,除了了解这些知识之外,还是理解闭包的基础。至于“闭包”这个词的概念的文字描述,确实不好解释,我看过很多遍,但是现在还是记不住。但是你只需要知道应用的两种情况即可——函数作为返回值,函数作为参数传递。第一,函数作为返回值如上代码,...转载 2019-03-07 09:22:45 · 100 阅读 · 0 评论 -
深入理解javascript原型和闭包(16)——补充this
转载自:http://www.cnblogs.com/wangfupeng1988/p/3996037.html本文对《深入理解javascript原型和闭包(10)——this》一篇进行补充,原文链接:https://blog.youkuaiyun.com/guominyou/article/details/88244442原文中,讲解了在javascript中this的各个情况,写完之后发现还落下...转载 2019-03-07 09:27:53 · 160 阅读 · 0 评论 -
深入理解javascript原型和闭包(17)——补充:上下文环境和作用域的关系
转载自:http://www.cnblogs.com/wangfupeng1988/p/4000798.html本系列用了大量的篇幅讲解了上下文环境和作用域,有些人反映这两个是一回儿事。本文就用一个小例子来说明一下,作用域和上下文环境绝对不是一回事儿。再说明之前,咱们先用简单的语言来概括一下这两个的区别。00 上下文环境:可以理解为一个看不见摸不着的对象(有若干个属性),虽然...转载 2019-03-07 09:35:23 · 170 阅读 · 0 评论 -
深入理解javascript原型和闭包(10)——this
转载自:http://www.cnblogs.com/wangfupeng1988/p/3988422.html接着上一节讲的话,应该轮到“执行上下文栈”了,但是这里不得不插入一节,把this说一下。因为this很重要,js的面试题如果不出几个与this有关的,那出题者都不合格。其实,this的取值,分四种情况。我们来挨个看一下。在此再强调一遍一个非常重要的知识点:在函数中thi...转载 2019-03-07 08:42:47 · 213 阅读 · 0 评论 -
深入理解javascript原型和闭包(9)——简述【执行上下文】下
转载自:http://www.cnblogs.com/wangfupeng1988/p/3987563.html继续上一篇文章(http://www.cnblogs.com/wangfupeng1988/p/3986420.html)的内容。上一篇我们讲到在全局环境下的代码段中,执行上下文环境中有如何数据:变量、函数表达式——变量声明,默认赋值为undefined; this——赋值...转载 2019-03-06 17:11:37 · 124 阅读 · 0 评论 -
深入理解javascript原型和闭包(8)——简述【执行上下文】上
转载自:http://www.cnblogs.com/wangfupeng1988/p/3986420.html什么是“执行上下文”(也叫做“执行上下文环境”)?暂且不下定义,先看一段代码:第一句报错,a未定义,很正常。第二句、第三句输出都是undefined,说明浏览器在执行console.log(a)时,已经知道了a是undefined,但却不知道a是10(第三句中)。在一段j...转载 2019-03-06 17:06:40 · 118 阅读 · 0 评论 -
JS闭包各种坑
转载自:https://www.jianshu.com/p/26c81fde22fb闭包是js开发惯用的技巧,什么是闭包?闭包指的是:能够访问另一个函数作用域的变量的函数。清晰的讲:闭包就是一个函数,这个函数能够访问其他函数的作用域中的变量。eg:function outer() { var a = '变量1' var inner = function () {...转载 2019-03-06 09:07:32 · 365 阅读 · 0 评论 -
深入理解javascript原型和闭包(1)——一切都是对象
转载自:http://www.cnblogs.com/wangfupeng1988/p/3977987.html“一切都是对象”这句话的重点在于如何去理解“对象”这个概念。——当然,也不是所有的都是对象,值类型就不是对象。首先咱们还是先看看javascript中一个常用的运算符——typeof。typeof应该算是咱们的老朋友,还有谁没用过它?typeof函数输出的一共有几种...转载 2019-03-06 09:47:12 · 95 阅读 · 0 评论 -
深入理解javascript原型和闭包(2)——函数和对象的关系
转载自:http://www.cnblogs.com/wangfupeng1988/p/3978035.html上文(理解javascript原型和作用域系列(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断。var fn = function () { };console.log(fn instanceof Object); // tru...转载 2019-03-06 09:51:49 · 132 阅读 · 0 评论 -
深入理解javascript原型和闭包(3)——prototype原型
既typeof之后的另一位老朋友!prototype也是我们的老朋友,即使不了解的人,也应该都听过它的大名。如果它还是您的新朋友,我估计您也是javascript的新朋友。在咱们的第一节(深入理解javascript原型和闭包(1)——一切都是对象)中说道,函数也是一种对象。他也是属性的集合,你也可以对函数进行自定义属性。不用等咱们去试验,javascript自己就先做了表率,人...转载 2019-03-06 09:56:49 · 120 阅读 · 0 评论 -
深入理解javascript原型和闭包(4)——隐式原型
转载自:http://www.cnblogs.com/wangfupeng1988/p/3979290.html注意:本文不是javascript基础教程,如果你没有接触过原型的基本知识,应该先去了解一下,推荐看《javascript高级程序设计(第三版)》第6章:面向对象的程序设计。上节已经提到,每个函数function都有一个prototype,即原型。这里再加一句话——每个对象都有一...转载 2019-03-06 10:22:16 · 130 阅读 · 0 评论 -
深入理解javascript原型和闭包(5)——instanceof
转载自:http://www.cnblogs.com/wangfupeng1988/p/3979533.html又介绍一个老朋友——instanceof。对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/function,你不知道它到底是一个object对象,还是数组,还是new Nu...转载 2019-03-06 10:34:26 · 105 阅读 · 0 评论 -
深入理解javascript原型和闭包(6)——继承
转载自:http://www.cnblogs.com/wangfupeng1988/p/3979985.html为何用“继承”为标题,而不用“原型链”?原型链如果解释清楚了很容易理解,不会与常用的java/C#产生混淆。而“继承”确实常用面向对象语言中最基本的概念,但是java中的继承与javascript中的继承又完全是两回事儿。因此,这里把“继承”着重拿出来,就为了体现这个不同。...转载 2019-03-06 10:42:04 · 139 阅读 · 0 评论 -
深入理解javascript原型和闭包(7)——原型的灵活性
转载自:http://www.cnblogs.com/wangfupeng1988/p/3980065.html在Java和C#中,你可以简单的理解class是一个模子,对象就是被这个模子压出来的一批一批月饼(中秋节刚过完)。压个啥样,就得是个啥样,不能随便动,动一动就坏了。而在javascript中,就没有模子了,月饼被换成了面团,你可以捏成自己想要的样子。首先,对象属性可以随...转载 2019-03-06 11:01:27 · 108 阅读 · 0 评论 -
var let 在for循环中的区别
var a = [];for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); };}a[5](); // 10为什么结果是10而不是5呢?思路1:首先,此处的i是全局变量,在for循环结束后,i=10。其次,循环中,数组a中的所有值都指向function(){},这个方法被不断的重...转载 2019-03-05 14:48:01 · 2755 阅读 · 0 评论