js代码

GitHub上整理的一些工具

我与影子孤独终老i 提交于 2020-02-29 09:19:37
技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 OSChina:开源技术社区,开源方面做的不错哦 cnblogs,51cto,csdn:常见的技术社区,各有专长 stackoverflow:IT技术问答网站 GitHub:全球最大的源代码管理平台,很多知名开源项目都在上面,如Linux内核, OpenStack等免费的it电子书: http://it-ebooks.info/ DevStore:开发者服务商店 不错的书籍 人件 人月神话 代码大全2 计算机程序设计艺术 程序员的自我修养 程序员修炼之道 高效能程序员的修炼(成为一名杰出的程序员其实跟写代码没有太大关系) 深入理解计算机系统 软件随想录 算法导论(麻省理工学院出版社) 离线数学及其应用 设计模式 编程之美 黑客与画家 编程珠玑 C++ Prime Effective C++ TCP/IP详解 Unix 编程艺术 《精神分析引论》弗洛伊德 搞定:无压力工作的艺术 平台工具(都是开源的好东东哦) Redmine/Trac:项目管理平台 Jenkins/Jira(非开源):持续集成系统(Apache Continuum,这个是Apache下的CI系统,还没来得及研究)

如何学习Javascript

喜欢而已 提交于 2020-02-29 08:44:14
首先要说明的是,咱现在不是高手,最多还是一个半桶水,算是入了JS的门。   谈不上经验,都是一些教训。   这个时候有人要说,“靠,你丫半桶水,凭啥教我们”。您先别急着骂,先听我说。   你叫一个大学生去教小学数学,不见得比一个初中生教得好。因为大学生早已经过了那个阶段,都忘记自己怎么走过来的了。而对于初中生,刚好走过那个阶段,对自己怎么走过来的还记忆犹新,或者还有一些自己的总结。比如,很多高手觉得那本犀牛书入门很好,他们觉得太简单了,但以我的经验来看,它不是入门的最好选择。    先说说学js的条件   当然学习JS也是有门槛的,就是你的html和css至少还比较熟练,您不能连<body>这东东是干啥的都不知道就开始上JS了,学乘除前,学好加减法总是有益无害的。    再说几点忠告   1,不要着急看一些复杂网页效果的代码,这样除了打击你自信心,什么也学不到。没达到一定的武功水平,割了小JJ也学不会葵花宝典的。   2,别急着加技术交流QQ群,加牛人QQ。如果你找张三丰交流武功,你上去第一句问“丰哥,where is 丹田?”,你会被他一掌劈死的。   3,看网上什么多少天精通JS,啥啥啥从入门到精通,这种教程直接跳过吧,太多的事实证明,以一种浮躁的心态去做任何事都会以失败而告终。   4,千万别去弄啥电脑培训,花了钱和时间不说,关键是学不到东西

js中多行字符串拼接

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-29 02:52:32
前言 我们会经常遇到这样的场景,需要拼接多行字符串,在字符串中动态插入一些数据以达到业务的需求。但是js中并没有标准的多行编辑的函数,于是聪明的程序员们便脑洞大开,书写出许多有趣的方法。 1 2 3 4 5 < div class= "links"> < a href= "http://qianlongo.github.io/">谦龙的博客 </ a> < a href= "http://aximario.github.io/">阿希的博客 </ a> < a href= "http://lingyu.wang/">天镶的博客 </ a> </ div> 对于上图的dom结构如果要在js中拼接,你会用什么组织方式呢? 1. 常规方式 1 var str = '<div class="links"><a href="http://qianlongo.github.io/">谦龙的博客</a><a href="http://aximario.github.io/">阿希的博客</a><a href="http://lingyu.wang/">天镶的博客</a></div>' 看到上面那一坨的代码,不知道您的心情是怎样的,反正我是完全没有心情看下去了,可读性太差了,于是乎为了写出可读性强的代码我们开始了下面的征程 2. 字符串相加形式 1 2 3 4 5 var str = '<div

delete分析 引用于 http://www.cnblogs.com/yuzhongwusan/archive/2012/06/14/2549879.html

点点圈 提交于 2020-02-28 23:47:18
最近重新温习JS,对delete操作符一直处于一知半解的状态,偶然发现一篇文章,对此作了非常细致深入的解释,看完有茅塞顿开的感觉,不敢独享,大致翻译如下。 原文地址: http://perfectionkills.com/understanding-delete/ P.S. 作者是PrototypeJS的开发组成员之一 ========分割线======== 在开始之前,先让我们看一段代码 Js代码 >>> var sum = function(a, b) {return a + b;} >>> var add = sum; >>> delete sum true >>> typeof sum; "undefined" 这段代码是Firebug控制台里的实际结果,初看这段代码,你觉得有什么问题?但我要说的是,删除sum应该是失败的,同时typeof sum的结果不应该是undefined,因为在Javascript里以这种方式声明的变量是无法被删除的。 那么问题出在哪里?为了回答这个问题,我们需要理解delete操作符在各种情况下的实现细节,然后再回过头来看Firebug的这个看似“诡异”的输出。 P.S 没有特殊声明的情况下,下文中所提到的Javascript都指的是ECMAScript规范。 1. 理论 delete操作符通常用来删除对象的属性: Js代码 var o = {

JS基础概念整理与简单练习-Part1

这一生的挚爱 提交于 2020-02-28 22:34:56
(写在前面:想着本身也会整理,不如把整理的内容放到博客里,能帮助到检索这篇博客的人一点点也好。没想到之前写的一点内容也有人浏览,挺惊讶的,这几天多整理一些之前写的本地笔记上传吧。) if 练习1 小结: ① else if条件累赘了; ② 需要判断值是否合法// 空字符转换为数值是0; ③ prompt( )函数的返回值是String类型的; if 练习2 switch练习 小结: ① 这个例子不适合用switch写(更适合if),不过未注释部分是标准写法。 while练习1 题目较简单,未附代码。小结: ① do-while语句是 后测试循环语句;while语句是 前测试循环语句。 while练习2    本题修改自if练习1,在输入分数部分添加了一个循环,错误便重输。 小结: ① 此题的score全程都是字符串,只有在比较时临时转换为数值进行比较;不能转为数值的会被转为NaN,比较结果是false。 ② 第一个if需要全员true才能通过,score.length必须得有(保证空字符不会变成0)。 ③ 因为不能转为数值的在第一个if处就false陷入循环了,所以不需要下面的isNaN判断。 ④ 因为 if练习1 中防止 'a'与数值比较为false,跳到 正确格式值 的分支,所以需要做判断。(第一步永远是判断异常值!) ⑤ 养成好习惯,break也加分号。 for练习1 小结:

了解gulp

痴心易碎 提交于 2020-02-28 22:28:15
简单了解gulp 在日常开发中,我们往往会用到很多前端的构造工具,我们常见的有Node,NPM,Grunt,Gulp…,很多很多,上一篇博客中已经简单的介绍了npm,这里再简单讲解一下gulp。 什么是gulp gulp是一个前端自动化打包构建工具,主要用来帮我们把代码进行压缩、转码,gulp运行必须依赖 node 环境。 gulp 安装 因为gulp是一个全局工具,所以直接使用npm安装gulp工具就ok了。当然也可以安装项目里的gulp,看个人需求。 全局安装gulp: npm i -g gulp 项目安装gulp : npm i gulp gulp 检测 检测gulp: gulp --version 或者 gulp -v ,版本号为CLI version: 2.2.0就是对的。 gulp 卸载 输入指令 npm uninstall --global gulp 或 npm un -g gulp 即可完成卸载 gulp 的方法 1. src ( ) => 用来找到你要打包的文件的 => src ( '你要打包的文件的地址' ) => 返回值就是一个 二进制流 , 就可以继续去调用别的方法 2. pipe ( ) => 用来帮你做事情的 => pipe ( 你要做的事情 ) => 返回值 : 又是一个二进制流 , 可以继续使用方法 3. dest ( ) => 用来写入文件的 =>

js的Prototype属性 解释及常用方法

耗尽温柔 提交于 2020-02-28 19:36:16
JavaScript能够实现的面向对象的特征有: ·公有属性(public field) ·公有方法(public Method) ·私有属性(private field) ·私有方法(private field) ·方法重载(method overload) ·构造函数(constructor) ·事件(event) ·单一继承(single inherit) ·子类重写父类的属性或方法(override) ·静态属性或方法(static member) 例子一(JavaScript中允许添加行为的类型): 可以在类型上使用proptotype来为类型添加行为。这些行为只能在类型的实例上体现。 JS中允许的类型有Array, Boolean, Date, Enumerator, Error, Function, Number, Object, RegExp, String Js代码 <script type="text/javascript"> Object.prototype.Property = 1; Object.prototype.Method = function () { alert(1); } var obj = new Object(); alert(obj.Property); obj.Method(); </script> 例子二(prototype使用的限制

JS切勿一味地使用===

强颜欢笑 提交于 2020-02-28 18:53:45
全文共 3228 字,预计学习时长 10 分钟 来源:Pexels 相比==,许多开发人员更喜欢使用===,为什么呢? 网上大多数教程都有解释过,JavaScript的强制转换太过复杂,难以预测,因此建议始终使用===。 互联网上一些教程的错误观念误导了大众,以及许多不成文的规则和受欢迎的网站都建议一直使用===。 这些都导致许多程序员放弃了一些程序语言,并将其视为缺陷,而不是深入理解领悟它们。 下面的两个案例说明了在哪些情况下最好使用==。 1. 测试空值 if (x ==null)vsif (x === undefined || x === null) 2. 读取用户的输入 let userInput = document.getElementById('amount'); let amount =999; if (amount == userInput) vs if (amout ===Number(userInput)) 本文将深入了解该主题,通过发现二者之间的差异,理解强制转换的概念,研究一些经典案例,并最终找到指导我们做出决定的准则。 引言 在Javascript脚本语言中,有两个运算符表示“相等”关系。 1、=== — 严格相等比较也称为三重相等比较。 2、==—抽象相等比较也称为双重相等比较。 我习惯于使用===,因为有人告诉我它比==更好用,更高级,且作为一个懒汉

事件简单学习

99封情书 提交于 2020-02-28 16:58:47
功能:某些组件执行了某些操作后,触发某些代码的执行。 理解概念 如何绑定事件? 1.写在HTML标签上。指定事件的属性(操作),属性值就是js代码。   缺点:耦合度高,黏在一起了,不利于维护 2.通过js获取元素对象,指定事件属性,设置一个函数(js代码) 来源: https://www.cnblogs.com/rijiyuelei/p/12377839.html

jquery常用示例

寵の児 提交于 2020-02-28 15:50:33
Html代码 <input type="text" id="cName" /> <div class="login-button">登陆</div> 1. jquery常用操作 js $("#userName").val(); //取值 $("#userName").val("张三"); //赋值 $("#userName").focus(); // 光标定位到指定元素 2. jquery常用事件 // 键盘按下弹起的事件 $("#cName").keyup(function(){ // 验证是否是回车键 if(event.keyCode ==13){ // 触发指定元素的点击事件 $(".login-button").trigger("click"); } }); 待续... 来源: 51CTO 作者: pannijingling 链接: https://blog.51cto.com/1197822/2474236