Javascript:重用之道】的更多相关文章

近期写了大量的js,愈发觉得自己的代码过于冗余,所以,利用周末的时间研习代码重用之道,有了这篇博文所得: 重用代码: 1.尽量保证 HTML 代码结构一致,可以通过父级选取子元素 2.把核心主程序实现,用函数包起来 3.把每组里不同的值找出来,通过传参实现 示例:一个简单的计算器 通过效果图,我们可以看出,核心代码所实现的功能被多次重复使用,并且,html结构代码类似,此时,若是单独实现每个计算器的功能,则事倍功半,代码冗余:所以,这时我们可以考虑使用代码重用. 1# 尽量保证 HTML 代码结…
天空一声巨响,道长闪亮登场,飞花落叶,尘土飞扬,此处不应恐慌,用阅读变量的概念来提升气场. 1)变量的声明,使用一个变量之前应该先声明.变量是使用关键字var来声明的,如下: var number;     //申明了一个变量 2)变量的赋值,如下: number=520;   //给变量赋值(javascript中的变量是可以赋任意类型的值的,比如字符串,对象,函数等等) 3)上面两个步骤可以合到一起,如下: var number=520;  //等价于前两步 **有人会说 number=52…
1.参考书目 入门:<JavaScript DOM编程艺术>第二版 进阶:<JavaScript高级程序设计>第二版.<JavaScript编程精粹> <JavaScript权威指南> 2.引言 Node.js是CommonJS的一个部分实现 本书代码下载: http://github.com/tdd/pragmatic-javascript https://github.com/tdd/pragmatic-javascript/archive/master…
[推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人   不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pdf 274.79 KB   21天学通JavaScript(第2版)-顾宁燕扫描版.pdf 26.02 MB   5天驾驭JQuery教程.pdf 1.08 MB   ACCP软件开发初级程序员-使用Javascript增强交互效果-北大青鸟.pdf 51.70 MB   Ajax+PHP程序设计实…
不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pdf 274.79 KB   21天学通JavaScript(第2版)-顾宁燕扫描版.pdf 26.02 MB   5天驾驭JQuery教程.pdf 1.08 MB   ACCP软件开发初级程序员-使用Javascript增强交互效果-北大青鸟.pdf 51.70 MB   Ajax+PHP程序设计实战详解.pdf 84.29 MB   Ajax实战中文版.pdf 2.48 MB   Aj…
不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pdf 274.79 KB   21天学通JavaScript(第2版)-顾宁燕扫描版.pdf 26.02 MB   5天驾驭JQuery教程.pdf 1.08 MB   ACCP软件开发初级程序员-使用Javascript增强交互效果-北大青鸟.pdf 51.70 MB   Ajax+PHP程序设计实战详解.pdf 84.29 MB   Ajax实战中文版.pdf 2.48 MB   Aj…
作为一名前端程序员,自然学习了一些框架,但是学的越多越发现自己基础的不足,于是想系统的学习一下js基础,然后把它记录下来. 如其他编程语言一样,词法结构是一门语言的基础,它规定了诸如如何给变量起名字.如何写注释.如何断句等. 字符集 JavaScript 所使用的是Unicode字符集编码.和HTML不同,JavaScript 是区分大小写的.也就是说变量.函数名.关键字和所有的标识符都必须使用一致的大小写形式.比如我们可以使用 var 来定义一个变量,而不能使用 VAR 或者 Var 来定义.…
对 http://bestcbooks.com/  这个网站的书籍进行爬取 (爬取资源分享在结尾) 下面是通过一个URL获得其对应网页源码的方法 传入一个 url  返回其源码 (获得源码后,对源码进行解析,获得页面中其他的书籍地址和当前页面的书籍的百度网盘的链接,因为这个网站分享的书籍都是用网盘分享的). 其实这里要讲的方法是按页面逐个去寻找书籍,还有一种比较暴力的是根据宽度优先遍历,找到所有的链接,不管是不是书籍的,然后再进行筛选. 宽度优先遍历可以看之前的一篇  http://www.cn…
JSP.servlet.SQL三者之间的数据传递 博客分类: web开发 JSPservletSQL数据库连接池web开发  前言: 最近一直在做WEB开发,现总结一下这一段时间的体会和感触. 切记,web开发重点在于前台数据交互,页面美化而不要太沉溺于底层数据. 浏览器时代来到,向我们召唤出更炫.更简洁.更方便.更大气的网站. 这篇博客目的在于为大家解决web开发中最基础的数据传递操作,让大家有一个好的起点,在web开放中更加游刃有余 背景: 目前业界很流行的WVC(model-view-co…
一句软件工程界的名言,让我想起了一个和一道笔试题有关的故事.希望更多的人了解 UML 背后的思想比他的语法更重要,是笔者写作本文的一点小愿望. 一.从一句软件工程名言说起 对很多事情的处理上,东西方都大相径庭.究其根底,往往是东西方文化的差异使然. “ 有工具的傻子还是傻子!( A Fool with a Tool is Still a Fool! ) ” 这句在软件工程界颇为有名的话,就体现了西方人说话不大客气的特点.作为中国人,您可能不大喜欢这句话的表达方式,但其内容的正确性是不容置疑的 —…
本文主要介绍了面向对象六大原则. 单一职责原则(Single-Resposibility Principle). “对一个类而言,应该仅有一个引起它变化的原因.”本原则是我们非常熟悉地”高内聚性原则”的引申,但是通过将”职责”极具创意地定义为”变化的原因”,使得本原则极具操作性,尽显大师风范.同时,本原则还揭示了内聚性和耦合生,基本途径就是提高内聚性:如果一个类承担的职责过多,那么这些职责就会相互依赖,一个职责的变化可能会影响另一个职责的履行.其实OOD的实质,就是合理地进行类的职责分配. 开放…
"面向对象设计五大原则"和良性依赖原则在应付变化方面的作用. SOLID(单一功能.开闭原则.里氏替换.接口隔离以及依赖反转) 单一职责原则(Single-Resposibility Principle)."对一个类而言,应该仅有一个引起它变化的原因."本原则是我们非常熟悉地"高内聚性原则"的引申,但是通过将"职责"极具创意地定义为"变化的原因",使得本原则极具操作性,尽显大师风范.同时,本原则还揭示了内聚…
摘要: 可以说是<Clean Code>的JS代码示例了,值得参考. 原文:JavaScript 代码简洁之道 作者:缪宇 Fundebug经授权转载,版权归原作者所有. 测试代码质量的唯一方式:别人看你代码时说 f * k 的次数. 代码质量与其整洁度成正比.干净的代码,既在质量上较为可靠,也为后期维护.升级奠定了良好基础. 本文并不是代码风格指南,而是关于代码的可读性.复用性.扩展性探讨. 我们将从几个方面展开讨论: 变量 函数 对象和数据结构 类 SOLID 测试 异步 错误处理 代码风…
今天想起来几道javascript的面试题,大家做做看看,有别的思路可以在下面写出来,大家交流一下 (1) 将多维数组转化成一个一位数组,例如[1,[2,3],[4,5,[6,7]]]转化成[1,2,3,4,5,6,7],答案在下面,主要就是利用递归 function test(array){ var newArray = []; for (var i=0,length = array.length - 1; i <= length; i++) { if(array[i] instanceof…
题目来自 25 Essential JavaScript Interview Questions.闲来无事,正好切一下. 一 What is a potential pitfall with using typeof bar === "object" to determine if bar is an object? How can this pitfall be avoided? 老生常谈的问题,用 typeof 是否能准确判断一个对象变量,答案是否定的,null 的结果也是 obj…
看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) var a = [1, 2, 3, 6, 5, 4]; var ans = Math.max.apply(null, a); console.log(ans); // 6 这题很巧妙地用了apply,如果不是数组,是很多数字求最大值,我们知道可以这样: var ans = Math.max(1, 2, 3, 4, 5, 6); console.lo…
几道JS题目 之前没有深入研究js语言,最近几年前端越来越工程化,需要扎实的js基础,看到博客园上有很多大牛分享JS学习文章,幸运看到tom大叔的blog,抽时间潜心学习了其文章,遇到到其出的几道题目,尝试自己解决,以测试自己的js水平. http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html 找出数字数组中最大的元素(使用Match.max函数) 转化一个数字数组为function数组(每个function都弹出相应的数字) 给…
Javascript中的Trait与代码重用 来源 http://www.ituring.com.cn/article/64103 我们知道,OOP中最普遍的代码重用方式是通过继承,但是,继承有一些缺点,其中最为主要的是继承是一种isa关系,父子类之间的关系太过紧密,而对于像JAVA这门语言而言,只能支持单继承,使得很多时候不能不进行代码拷贝这样的事情. 举个例子,假设我们要建模动物.最底层是一个Animal对象,下面有猫科,犬科.然后猫科下有猫,老虎.犬科下有狗和狼. 猫能够miao,狗能够叫…
Array.prototype对象上的标准方法被设计为也能够在其他对象上重用 - 即使不是继承自Array的对象. 因此,在JavaScript中存折一些类数组对象(Array-like Objects). 一个典型的样例是函数的arguments对象,在Item 22中对它进行过介绍.该对象并不继承自Array.prototype,所以我们不能直接调用arguments.forEach来对当中的元素进行遍历.可是,我们能够通过首先得到forEach方法的对象.然后调用call方法(能够參考It…
本系列作为Effective JavaScript的读书笔记. 假设须要向Item 38中的Actor对象加入一个ID信息: function Actor(scene, x, y) { this.scene = scene; this.x = x; this.y = y; this.id = ++Actor.nextID; scene.register(this); } Actor.nextID = 0; 同一时候.也须要向Actor的子类型Alien中加入ID信息: function Alie…
JavaScript十分特别.而且差点儿在每一个大型应用中起着至关关键的数据.那么,究竟是什么使JavaScript显得与众不同,意义非凡? 这里有一些问题将帮助你了解其真正的奥妙所在:   1.你能说出对JavaScript应用开发人员非常重要的两种编程范式吗? 答: JavaScript是一门多范式语言, 支持命令式/过程式编程以及OOP(面向对象编程)和函数式编程.JavaScript使用原型继承来实现OOP. 面试官非常高兴听到这些: ·原型继承(或:原型,OLOO(对象链接到其它对象)…
问题1: 作用域(Scope) 考虑以下代码: (function() { var a = b = 5; })(); console.log(b); 控制台(console)会打印出什么? 答案 上述代码会打印出5. 这个问题的陷阱就是,在立即执行函数表达式(IIFE)中,有两个赋值,但是其中变量a使用关键词var来声明.这就意味着a是这个函数的局部变量.与此相反,b被分配给了全局作用域(译注:也就是全局变量). 这个问题另一个陷阱就是,在函数中没有使用”严格模式” ('use strict';…
56 道高频 JavaScript 与 ES6+ 的面试题及答案 :https://segmentfault.com/a/1190000020082089?utm_source=weekly&utm_medium=email&utm_campaign=email_weekly&tdsourcetag=s_pcqq_aiomsg…
很久以前看过一个老外写的帖子,JavaScript Puzzlers!,直译就是JavaScript难题,里面列举了100道JavaScript选择题,大部分都是让人摸不着头脑的题目,需要仔细琢磨一番才能得到正确答案.也有一些作者也没有解释清除,直接通过实验给出答案了. 这100个问题是在ECMA 262(5.1)环境下,浏览器中试验的,如果是node环境下可能不同.这是因为二者环境差异,比如node环境下顶层变量是global,浏览器环境下则是windows. 本文部分内容也参考了文章Java…
最近在整理 JavaScript 的时候发现遇到了很多面试中常见的面试题,本部分主要是作者在 Github 等各大论坛收录的 JavaScript 相关知识和一些相关面试题时所做的笔记,分享这份总结给大家,对大家对 JavaScript 的可以来一次全方位的检漏和排查,感谢原作者 CavsZhouyou 的付出,原文链接放在文章最下方,如果出现错误,希望大家共同指出! 附笔记链接,阅读往期更多优质文章可移步查看,喜欢的可以给我点赞鼓励哦:https://github.com/Wscats/art…
1.考察this JavaScript var length = 10; function fn() { console.log(this.length); } var obj = { length: 5, method: function(fn) { fn(); arguments[0](); } }; obj.method(fn, 1); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 var length = 10; function fn() {   console.l…
1.考察this var length = 10; function fn() { console.log(this.length); } var obj = {   length: 5, method: function(fn) { fn(); arguments[0](); } }; obj.method(fn, 1); 输出:10 2 第一次输出10应该没有问题.我们知道取对象属于除了点操作符还可以用中括号,所以第二次执行时相当于arguments调用方法,this指向arguments,…
假设想给上节讲的场景图库添加收集诊断信息的功能.这对于调试和性能分析很有用. 38条示例续 给每个Actor实例一个唯一的标识数. 添加标识数 function Actor(scene,x,y){ this.scene=scene; this.x=x; this.y=y; this.id=++Actor.nextID; scene.register(this); } Actor.nextID=0; 现在我们需要对Actor的子类做同样的事.假设,Alien类代表太空飞船的敌人.除了其角色标识数外…
JavaScript是基于原型的语言,通过new实例化出来的对象,其属性和行为来自于两部分,一部分来自于构造函数,另一部分是来自于原型.构造函数中定义的属性和行为的优先级比原型中定义的属性和优先级高,如果构造函数和原型定义了同名的属性和行为,构造函数中的属性和行为会覆盖原型中的同名的属性和行为.如下图—— 当我们声明一个类时,其实同时生成了一个对应的原型,例如我们定义Animal这个类时,会生成一个与Animal类对应的原型,通过Animal.prototype可以指向这个原型,原型可以通过co…
最近在学习<数据结构与算法JavaScript描述>这本书,对JavaScript的特性和数据结构都有了进一步的了解和体会. 学习之余,也进行了相应的练习,题目难度不大,但是对所学知识的巩固十分有帮助,所以在这里和大家做一个分享. 注:题目主要来源于牛客网,这是一个不错的网站,对于代码的学习和自我能力的检验很有帮助,有兴趣的朋友可以去看看. 这些题目解法绝大多数是根据自己的思路做的,并且几乎都采用了多种方法,某些方法参考了网站中其他朋友的代码,如果 有更好的解法也欢迎大家提出来,我会进行详细的…