01 2017 档案

摘要:JavaScript 创建类/对象的几种方式 非常好的一篇讲类和对象的文章,逐一测试,加深记忆:http://www.cnblogs.com/tiwlin/archive/2009/08/06/1540161.html 在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象 阅读全文
posted @ 2017-01-23 16:29 菜鸟江太公 阅读(281) 评论(0) 推荐(0)
摘要:翻译自:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new new操作符可以实例化一个用户自定义对象,或者一个含有构造方法的内置对象。很明显,这句话的意思指用户采用{},或者new Objec 阅读全文
posted @ 2017-01-23 16:18 菜鸟江太公 阅读(236) 评论(0) 推荐(0)
摘要:在加上new操作符,我们就能完成传统面向对象的class + new的方式创建对象,在Javascript中,我们将这类方式成为Pseudoclassical。 基于上面的例子,我们执行如下代码 var obj = new Base(); var obj = new Base(); var obj 阅读全文
posted @ 2017-01-23 13:49 菜鸟江太公 阅读(239) 评论(0) 推荐(0)
摘要:私有变量在js中是个什么概念。当下我的认识是var所定义的变量,实际可以理解为属性和方法,或者单单是临时存储器,不归属任何对象。 一个声明函数: function a(){ var v = "bc";} 这样定义的变量v有以下特征: 只有当a函数被执行的时候,即添加尾括号调用,内部才会开始v的声明( 阅读全文
posted @ 2017-01-23 13:25 菜鸟江太公 阅读(4397) 评论(0) 推荐(0)
摘要:作者:zhangxiaoyang链接:https://zhuanlan.zhihu.com/p/21399787来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1 美人心计 今日向大家介绍后花园中的3位美人,分别是命令氏、面向对象氏、函数氏。 命令氏,妃,贤妻良母,夫 阅读全文
posted @ 2017-01-22 17:21 菜鸟江太公 阅读(403) 评论(0) 推荐(0)
摘要:简介 在很多传统语言(C/C++/Java/C#等)中,函数都是作为一个二等公民存在,你只能用语言的关键字声明一个函数然后调用它,如果需要把函数作为参数传给另一个函数,或是赋值给一个本地变量,又或是作为返回值,就需要通过函数指针(function pointer)、代理(delegate)等特殊的方 阅读全文
posted @ 2017-01-22 16:39 菜鸟江太公 阅读(966) 评论(0) 推荐(0)
摘要:原文: http://web.jobbole.com/84044/ http://blog.csdn.net/github_34514750/article/details/52901781 1.三种执行环境: 全局(global scope) 函数(function scope) eval(eva 阅读全文
posted @ 2017-01-22 10:47 菜鸟江太公 阅读(158) 评论(0) 推荐(0)
摘要:this、new、call和apply的相关问题 讲解this指针的原理是个很复杂的问题,如果我们从javascript里this的实现机制来说明this,很多朋友可能会越来越糊涂,因此本篇打算换一个思路从应用的角度来讲解this指针,从这个角度理解this指针更加有现实意义。 下面我们看看在jav 阅读全文
posted @ 2017-01-21 17:04 菜鸟江太公 阅读(239) 评论(0) 推荐(0)
摘要:在封装函数的过程中,确保this的正确传递 阅读全文
posted @ 2017-01-20 17:57 菜鸟江太公 阅读(278) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2017-01-20 16:34 菜鸟江太公 阅读(95) 评论(0) 推荐(0)
摘要:【场景1】全局环境中的this指向全局对象 this.a = 10; alert(a);//10 b = 20; alert(this.b);//20 var c = 30; 【场景2】对象内部函数的this指向调用函数的当前对象 var a = 10; var bar = { a: 20, tes 阅读全文
posted @ 2017-01-20 11:25 菜鸟江太公 阅读(359) 评论(0) 推荐(0)
摘要:最近有空可以让我静下心来看看各种代码,function与感叹号的频繁出现,让我回想起2个月前我回杭州最后参加团队会议的时候,@西子剑影抛出的一样的问题:如果在function之前加上感叹号 (!) 会怎么样?比如下面的代码: 在控制台运行后得到的值时true,为什么是true这很容易理解,因为这个匿 阅读全文
posted @ 2017-01-19 15:29 菜鸟江太公 阅读(196) 评论(0) 推荐(0)
摘要:一般看JQuery插件里的写法是这样的 (function($) { //... })(jQuery); 今天看到bootstrap的javascript组件是这样写的 !function( $ ){ //... }( window.jQuery ); 为什么要在前面加一个 " ! " 呢? 我们都 阅读全文
posted @ 2017-01-19 15:23 菜鸟江太公 阅读(417) 评论(0) 推荐(0)
摘要:网上流传着一张讲解prototype跟__proto__关系的图,尽管他已经描绘的很清楚了,但对于初学者来说,江太公感觉还是过于纠结,于是起心重绘,让他们之间的关系更加明晰可理解,一方面出于分享目的,另一方面也借此更加深入的理解二者关系,达到完全明白不模糊。 原图: 新绘图:【注:由于博客园不提供点 阅读全文
posted @ 2017-01-18 16:14 菜鸟江太公 阅读(149) 评论(0) 推荐(0)
摘要:这是我见过描述的最为详尽的关于变量对象、活动对象以及闭包的解析,来自知乎,感谢答主: 作者:闭家锁链接:https://www.zhihu.com/question/36393048/answer/71879330来源:知乎著作权归作者所有,转载请联系作者获得授权。 在回答这道题的时候,我也是抱着总 阅读全文
posted @ 2017-01-08 13:22 菜鸟江太公 阅读(424) 评论(0) 推荐(0)
摘要:如果要更加深入的了解闭包以及函数a和嵌套函数b的关系,我们需要引入另外几个概念:函数的执行环境(excution context)、活动对象(call object)、作用域(scope)、作用域链(scope chain)。以函数a从定义到执行的过程为例阐述这几个概念。 到此,整个函数a从定义到执 阅读全文
posted @ 2017-01-08 12:35 菜鸟江太公 阅读(157) 评论(0) 推荐(0)
摘要:f1在未调用的情况下,即便age被声明成为全局变量,会报错为未定义,即变量未声明。 而若将age在函数外层定义后,结果如下: 此时变量是被定义,但未初始化,因此打印出的值为undefined。 而若函数运行后,结果如下: 值被读取出来了。 阅读全文
posted @ 2017-01-08 09:27 菜鸟江太公 阅读(220) 评论(0) 推荐(0)
摘要:1.百度的招聘启示 如图: 下面是输出代码: 2.知乎的招聘启示 如图: 很显然是使用console.info打印出来的,别问我怎么知道的。一搜,居然也有人对这个感兴趣(http://www.tuicool.com/articles/fI7VFb6),使用到的工具: Sublime Text ASC 阅读全文
posted @ 2017-01-04 11:17 菜鸟江太公 阅读(435) 评论(0) 推荐(0)
摘要:f 简介: JS中默认没有console对象, 这是某些浏览器提供的浏览器内置对象, 低版本IE就没有, 其他主流浏览器应该都有。它能看到结构话的东西,如果是alert,淡出一个对象就是[object object],但是console能看到对象的内容。console不会打断你页面的操作,如果用al 阅读全文
posted @ 2017-01-03 17:28 菜鸟江太公 阅读(547) 评论(0) 推荐(0)
摘要:控制台打印结果: 循环执行4次setTimeout给了4个ID,分别是1,2,3,4。而setTimeout函数是被放入函数队列中等待执行,虽然给予的间隔时间为0,但实际每个浏览器的最小间隔都不一样,小于那个值的时候,间隔数不确定。所以最后得出的结果是4个-1也就是循环执行完的结果,队列中放置了4个 阅读全文
posted @ 2017-01-03 09:35 菜鸟江太公 阅读(1119) 评论(0) 推荐(0)