欢迎来到天天文库
浏览记录
ID:35391983
大小:58.21 KB
页数:3页
时间:2019-03-24
《泄露你的javascript技术很烂的五个表现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、泄露你的JavaScript技术很烂的五个表现其实,你和Javascript都站错了立场,而现在,你让Javascript很生气。这里有五个原因能说明你的Javascript技术很烂。Javascript在互联网上名声很臭,但你又很难再找到一个像它这样如此动态、如此被广泛使用、如此根植于我们的生活中的期外一种语言。它的低学习门槛让很多人都称它为学前脚本语言,它另外一个让人嘲笑的东西是动态语言的概念是偏偏便用了高标准的静态数据类型。其实,你和Javascript都站错了立场,而现在,伤<il:Javascript很生气。这里有五个原因能说明你的Javascript技术很烂。
2、1.你没有使用命名空间是否还记得在大学里老师告诉你不耍在家庭作业里使用全局变量?Javascript里的全局变虽的使用方法也不例外。Web网贞稍不留神就会变的混乱不堪、到处都是从互联网上各个角落里找来的乱糟糟的和互侵犯的脚本和脚本库。如果你把一个变量命名成loader(),那你是成心白找麻烦。如果你在无意识的情况下重载了一个函数,Javascript根本不会提醒你。你还把它叫做一种学前教育编程语言,还记得吧?我要说的是,你需要知道在做了这些后发生什么情况。1.functionderp(){alert(^onez");}2.functionderp(){alert(^two
3、z");}3.derp();“two”,答案是“two”。并不是一定会这样,它也可能是-one-o所以,把你所有的代码都放在自己的命名空间里,这很容易。下面是定义自己的命名空间的一个简单做法。4・varfoospace={};5・foospace.derp=function(){alert(vone,z);}6.functionderp(){alert(vtwoz/);}7•foospace.derp();2.你在变戏法,你把变量定义的东一个西一个你使用莫名其妙的数字字母组合作为变最名是一个双输的结局。在40行的代码块屮寻找一个不带任何表意的字符变量,对于维护工作來说简直
4、是场噩梦。把对变量的第一次声明混介到一个40行的代码块里同样也是一场鹅梦。即使你自己遇到这样的变量时,你也要不由的问自己:“这是在哪里定义的厂,然后迅速的使用Ctrl+F组合在源代码里寻找这个变量绘初定义的位置。不,不要这样,相反,这是对Javascript的滥用,是一种愚蠢的做法。你2该始终把变址定义在它的使用范用的顶部。并不能说因为这不是必须的,你就可以不这样做。8.function(){9・vara,//description10.b;//description11.//process...12.}3.你没有理解JavaScript的变量范围你是个天才的程序员,你吃
5、的是C++、拉的是List。你知道什么是变聚范围,你对你的变量有完全的控制,你就像太上皇似的的注视着它们。然而,Javascript却在你的咖啡里拉了一泡屎,并月•大笑不止。13.varherp=〃one〃;14.{15.varherp=zztwo,z;16.}17・alert(herp);在这利
6、情况卜你得到的herp不是“one",而是“two"。Javascript的变量有效范围并不是跟其它语言一样依赖于代码块。Javascript的变量范围是以函数为基础的。每个函数都有它白己的变量范围,Javascript这一点上表现的很酷,根本不理睬这毫无意义的花括弧包起來的范
7、围。事实上,Javascript是如此的酷,以至于你甚至町以将变量范围像命名空间或变量那样进行传递。4.你以为JavaScript的面向对象特征只是嫁接而来的Javascript,自从呱呱落地起,它就是一个面向对象的语言。所有的东西在Javascript里都是对彖,所有的!甚至数字和字符这样的文字符号都对以通过它口身固有的构造器转化成对象。跟其它面向对象的语言比起來,Javascript的不同之处在了,它没有类(class)。Javascript对彖像函数那样定义,甚至函数口己也是对彖。Javascript有个属性叫做prototype,所有对象里都内置了这个属性,你可以
8、通过它来改变对象的构造,修改对象、添加更多的变量、更多的功能。18.varderp;//willholdaHerpinstance19.varHerp=function(){20.this•opinion=,zJavascriptiscoolerthanBASIC.z,;21.}22•Herp.prototype•speak=function(){alert(this.opinion);}23.varderp=newHerp();24・detp.speak();如果这个看起来跟你毫不相干,我愿意介绍我的好朋友Google给你,
此文档下载收益归作者所有