随笔分类 -  javascript

摘要:js中的eval函数是一个强大、灵活的工具。强大的工具容易被滥用,所以了解是值得的。(本人只用过它来处理json数据)。 错误使用eval函数的方式一:允许它干扰作用域。 调用eval函数会将其参数作为js程序进行解释。 该程序运行于调用者的局部作用域中,嵌入到程序的全局变量会被创建为调用程序的局部变量。 阅读全文
posted @ 2016-05-24 10:35 脚后跟着猫 阅读(694) 评论(0) 推荐(0)
摘要:嵌套函数声明。没有标准的方法在局部块里声明函数,但可以在另一个函数的顶部嵌套函数声明。 如果我们把函数f移动到局部块里。 js没有块级作用域,所以内部函数f的作用域应该是整个test函数。下面的这个例子的合理猜测结果是["local","local"]和["local"]。事实上,一些js环境的确如 阅读全文
posted @ 2016-05-23 18:38 脚后跟着猫 阅读(322) 评论(0) 推荐(0)
摘要:js函数会根据上下文改变其含义。 function double(x){return x*2;} 这是一个函数声明,也可以是一个命名函数表达式(named function expression),取决于它出现的地方。 声明一个函数,并绑定一个当前作用域的变量。 同一段函数代码也可以作为一个表达式。 阅读全文
posted @ 2016-05-23 09:37 脚后跟着猫 阅读(491) 评论(0) 推荐(0)
摘要:注意闭包存储的是其外部变量的引用而不是值。使用IIEF来创建局部作用域注意点:代码块不能包含任何跳出块的break和continue语句。如果代码块引用了this或特别的arguments变量,会得到错误的含义。 阅读全文
posted @ 2016-05-21 09:55 脚后跟着猫 阅读(429) 评论(0) 推荐(0)
摘要: js支持词法作用域,即除了极少的例外,对变量的引用会被绑定到声明变量最近的作用域中。 js不支持块级作用域,即变量定义的作用域并不是离其最近的封闭语句或代码块,而是包含它们的函数。 不了解这个会产生一些微妙的bug。 这里的for循环里声明了一个局部变量player,但由于js中变量是函数级作用域, 阅读全文
posted @ 2016-05-20 08:57 脚后跟着猫 阅读(389) 评论(5) 推荐(1)
摘要: 理解闭包三个基本的事实 第一个事实:js允许你引用在当前函数以外定义的变量。 第二个事实:即使外部函数已经返回,当前函数仍然可以引用在外部函数所定义的变量。 第三个事实:闭包可以更新外部变量的值。 阅读全文
posted @ 2016-05-19 14:03 脚后跟着猫 阅读(1137) 评论(6) 推荐(1)
摘要:with块中的每个外部变量的引用都隐式地假设在with对象(以及它的任何原型对象)中没有同名的属性。而在程序的其他地方创建或修改with对象或其原型对象不一定会遵循这样的假设。js引擎当然也不会读取局部代码来获取你使用了哪些局部变量。 变量作用域和对象命名空间之间的冲突使得with代码块异常脆弱。 阅读全文
posted @ 2016-05-18 18:18 脚后跟着猫 阅读(632) 评论(0) 推荐(0)
摘要:如果忘记将变量声明为局部变量,该变量将会隐式地转变为全局变量,尽管该程序没有使用var声明temp变量,执行不会出错,而且temp会被添加到全局使用域中,变成一个全局变量。故意创建全局变量是不好的风格,意外创建是一种灾难。 阅读全文
posted @ 2016-05-18 10:07 脚后跟着猫 阅读(302) 评论(0) 推荐(0)
摘要:初学者容易使用全局变量的原因 创建全局变量毫不费力,不需要任何形式的声明(只要在非函数里用var 你就可以得到一个全局变量) 写得代码简单,不涉及到大的项目或配合(写hello world是不会有什么问题的) 使用全局变量的不利之处 污染共享的公共命名空间 导致意外的命名冲突(比如你的代码别人引用了 阅读全文
posted @ 2016-05-17 09:10 脚后跟着猫 阅读(1176) 评论(1) 推荐(1)
摘要:在这里整理一下,每条对应的提示 第1条:了解使用的js版本 第2条:理解JavaScript的浮点数 第3条:当心隐式的强制转换 第4条:原始类型优于封闭对象 第5条:避免对混合类型使用==运算符 第6条:了解分号插入的局限 第7条:视字符串为16位的代码单元序列 阅读全文
posted @ 2016-05-12 19:05 脚后跟着猫 阅读(594) 评论(0) 推荐(0)
摘要:Unicode编码,基础:它为世界上所有的文字系统的每个字符单位分配一个唯一的整数,该整数介于0~1114111之间,在Unicode术语中称为代码点(code point)。 和其它字符编码几乎没有任何不同(例如ASCII)。 不同在于ASCII将每个索引映射为唯一的二进制表示,但Unicode允 阅读全文
posted @ 2016-05-12 18:53 脚后跟着猫 阅读(940) 评论(0) 推荐(2)
摘要:前言 这是Glen Maddern发布于2015年8月19日的一篇文章,主要是之前翻译的文章《理解CSS模块方法》里提到这篇文章,现在算是顺藤摸瓜跟进来看看。 这里的翻译都是根据我自己的理解进行的,所以不是一句一句的来的,有哪些不对的也在所难免,水平有限,希望大家指出。 正文 如果想在最近CSS开发 阅读全文
posted @ 2016-05-11 19:50 脚后跟着猫 阅读(929) 评论(0) 推荐(1)
摘要:分号可以省略 js可以在语句结束不强制加分号。(建议还是添加,不添加分号往往会出现不易发现的BUG) function Point(x,y){ this.x=x||0; this.y=y||0; } Point.prototype.isOrigin=function(){ return this.x 阅读全文
posted @ 2016-05-10 19:40 脚后跟着猫 阅读(682) 评论(0) 推荐(4)
摘要:“1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的。为什么呢?请看《[Effective JavaScript笔记]第3条:当心隐式的强制转换》 因为这个会在比较之前对两个值都进行隐式转换。字符串“1.0e0 阅读全文
posted @ 2016-05-09 16:43 脚后跟着猫 阅读(513) 评论(0) 推荐(0)
摘要:js有5种原始值类型:布尔值、数字、字符串、null和undefined。 用typeof检测一下: typeof true; //"boolean" typeof 2; //"number" typeof “s”;//"string" typeof null;//"object":ECMAScri 阅读全文
posted @ 2016-05-09 15:34 脚后跟着猫 阅读(459) 评论(0) 推荐(0)
摘要:我们讨论了很多关于怎么减少页面体积,提高重网站性能的方法。有些是操作是一劳永逸的,如开启服务器的gzip压缩,使用适当的图片格式,或删除一些不必要的字符。但有一些任务是每次工作都必须反复执行的。如 新图片或修改后图片的压缩 去除调试语句如console,debugger 合并和压缩css和js 把更 阅读全文
posted @ 2016-05-06 09:56 脚后跟着猫 阅读(869) 评论(0) 推荐(4)
摘要:js对类型错误出奇的宽容 3+true; //4 3*””; //0 3+[]; //3 3+[3]; //33 以上表达式在许多语言早就变红了。而js不但不报错还给你个结果。 极少情况会产生即时错误,非函数对象或试图选择null的属性。 “hello”(1);//error:not a funct 阅读全文
posted @ 2016-05-05 19:35 脚后跟着猫 阅读(615) 评论(0) 推荐(0)
摘要:前言 PostCSS已经在一段时间内迅速普及,如果你还不知道PostCSS或还没有使用它,我建议你看一下之前的一篇介绍文章《PostCSS简介》,其中介绍了使用PostCSS的基本方法,包括如何安装运行一些插件。 本文,将介绍如何在gulp构建工具中使用PostCSS。因为这不是一篇gulp的教程, 阅读全文
posted @ 2016-05-04 15:15 脚后跟着猫 阅读(326) 评论(0) 推荐(0)
摘要:JavaScript数值型类型只有数字 js只有一种数值型数据类型,不管是整数还是浮点数,js都把归为数字。 typeof 17; // “number” typeof 98.6; // “number” typeof –2.1; // “number” js中的所有数字都是双精度浮点数。是由IEE 阅读全文
posted @ 2016-05-04 14:11 脚后跟着猫 阅读(617) 评论(2) 推荐(0)
摘要:1997年 正式成为国际标准,官方名称为ECMAScript。 1999年 定稿第3版ECMAScript标准(简称ES3),最广泛的js版本。 2009年 发布第5版即ES5,引入了一些新特性,标准化了一些被支持了但没规范的特性。目前还未得到广泛支持,书中会特别说明一些条款和建议是否是特定于ES5 阅读全文
posted @ 2016-05-04 09:46 脚后跟着猫 阅读(988) 评论(0) 推荐(1)

返回
顶部