撇开缓存无效不谈,这确实很困难,每当俺找不到正确的名称时,这个臭名昭著的引用就会在俺的脑海中萦绕。
前言 在js的代码开发中,我简单的总结出了以下规则,后面会陆续补充并且对规范进行分类。...js代码建议保存到后缀名.js的文件中 js代码不建议放在html中,原因有:不能被缓存,会增大网页文件的大小,可维护性不高,会影响页面的加载。...函数声明: 所有的函数应该在使用前被声明; 函数声明格式,函数名与左括号无间隔,右括号与方法体大括号有空格,大括号结束符与方法声明行头部对齐。...(快捷键crtl+shift+f) 特别的,如果是匿名函数,应该在方法类型与小括号之间加空格。...比如对象 var obj={} ;var arr=[] eval eval是最容易混乱使用的js函数,他可以执行内部入参的js函数或者表达式,可以直接解析变量。不建议使用 。
js类与构造函数参考原文献 9..../AirbnbStyleGuide'; // bad // filename es6.js export { es6 as default } from '..../AirbnbStyleGuide'; // good // filename es6.js import { es6 } from '....= b = c = 1; // good let a = 1; let b = a; let c = a; 11.6、避免使用 ++ 或 –,使用 += 或 -= 代替(eslint规范...空格(具体遵循eslint规范) 14.1、始终使用 2 个空格作为块之间的间距 14.2、在前括号【{ }, ( )】之前放置1个空格 // bad function test(){ console.log
@param @argument 指定参数名和说明来描述一个函数参数 @returns 描述函数的返回值 @author 指示代码的作者 @depreca...
EMCAScript规范 javascript语言实现,ES6规范(使用babel编译器将es6转换为es5,webpack只支持部分es6): import "jquery"; /...default只有一个,export可以有多个 commonjs规范 nodejs语言实现 require("module"); require(".....nodejs,需要通过browserify工具转换为浏览器支持js (例如:browserify main.js > compiled.js): 浏览器不兼容nodejs的几个模块 module exports...和curl.js实现 网页js的异步加载 内部函数 require.config({参数})...deps: ['underscore', 'jquery'], exports: 'Backbone' } } }); CMD 淘宝工程师编写seajs,提出cmd规范
male', age: 25 } 只对非法标识符的属性使用引号,eslint: quote-props 原因:因为通常来说我们认为这样主观上会更容易阅读,这样会带来代码高亮上的提升,同时也更容易被主流 JS...bar.css' // good import fooSass from 'foo.scss' import barCss from 'bar.css' 迭代器 建议使用 JS 更高优先级的函数代替...时等于 false, 否则是 true if ([0] && []) { // true // 数组(即使是空数组)也是对象,对象等于true } 分号 Standard 的规范是不使用分号的...,我建议统一使用分号,代码更加清晰 关于应不应该使用分号的讨论有很多,好的 JS 程序员应该清楚场景下是一定要加分号的,相信你也是名好的开发者。...,例如优先使用 string.charAt(3) 而不是 string[3] eval() 由于 eval 方法比较 evil,所以我们约定禁止使用该方法 with() {} 由于 with 方法会产生神奇的作用域
"> 变量命名 命名方式: 小驼峰式命名方法 命名规范: 类型+对象描述的方式,如果没有明确的类型,就可以使前缀为名词 类型 小写字母 array a boolean...脚本加载 说到js和css的位置,大家应该都知道js放在下面,css放在上面。...js声明提前 javascript会自动将函数作用域内的变量和方法的定义提前(只是提前声明,赋值还是在原处) 例如: (function(log){ 'use strict'; var a =...eval()函数的作用是返回任意字符串,当作js代码来处理。 ---- this关键字 只在对象构造器、方法和在设定的闭包中使用 this 关键字。this 的语义在此有些误导。...'valid' : 'invalid' ---- JSHint 在js规范中,有很多规范都是样式上的规范而不是逻辑上的规范,比如尽量使用=== 而不是==,我们可以使用JSHint或者JSLint,Javascript
C.Js代码注释console.log和debugger再提交 D.重要函数或者类等都要添加头描述 ? 字符串拼接 应使用数组保存字符串片段,使用时调用join方法。...G.Return后面不要写代码,并且不封装成if…then…else… 导入和导出 使用import和export,只能位于代码顶部和顶部,如果代码中部需要按需导入文件使用require 解决地狱回调问题 A.方法一...B.方法二 ?
最近对于ES6中变量命名关于变量是不是应该大写,特意再重新梳理了一遍基础,特总结如下: js变量命名规范 变量名区分大小写(y 和 Y 是不同的变量) 变量名包含字母、数字、美元符号()和下划线
在 javaScript 中变量名存在一定规范,所有变量名必须符合这些规范,否则程序无法执行。
目标 本规范提供了一种统一的编码规范来编写 Vue.js 代码。这使得代码具有如下的特性: 其它开发者或是团队成员更容易阅读和理解。...-- 与自定义元素规范不兼容 --> 组件表达式简单化 Vue.js 的表达式是 100% 的 Javascript 表达式。这使得其功能性很强大,但也带来潜在的复杂性。...即使其他开发者并未按照你预想的方法使用时也不会出错。 怎么做? 提供默认值。 使用 type 属性校验类型。 使用 props 之前先检查该 prop 是否存在。...通过 props 传递回调函数给子组件来达到调用父组件方法的目的。 通过在子组件触发事件来通知父组件。 谨慎使用 this....保证所有的开发者使用同样的编码规范。 更早的感知到语法错误。 怎么做?
提供一种统一的编码规范来编写 Vue.js 代码。这使得代码具有如下的特性: * 其它开发者或是团队成员更容易阅读和理解。...-- 与自定义元素规范不兼容 --> 组件表达式简单化 Vue.js 的表达式是 100% 的 Javascript 表达式。这使得其功能性很强大,但也带来潜在的复杂性。...即使其他开发者并未按照你预想的方法使用时也不会出错。 HOW?...* 通过 props 将值传递给子组件 * 通过 props 传递回调函数给子组件来达到调用父组件方法的目的 * 通过在子组件触发事件来通知父组件 谨慎使用this....* 保证所有的开发者使用同样的编码规范。 * 更早的感知到语法错误 HOW?
概述 require.js是各种网络APP中非常常见的JS依赖库,它其实不仅仅是个模块加载器那么简单。它背后蕴含了一个非常重要的设计,也就是JS模块化编程。...这样,如果大家都约定使用同样的模块化规范设计,从一个框架到另外一个框架就没有成本,并且可以互相加载引入。 这里通过一个计算幂运算的例子,详细论述require.js的使用。 2....详论 AMD模块规范听起来很高大上,但实际上并不是很复杂。模块化设计就是为了方便模块之间交互性,那么接口必然是统一而简约的,我们只要按照约定的规则来使用它即可。 2.1....return result; } var myMath = new MyMath(); return myMath; }) 这里两个例子说明了定义模块是通过define方法定义模块的...通过require方法去加载自定义的数学库模块和JQuery模块,其中第一个参数定义了需要加载的模块;第二个参数则是加载成功之后的回调函数: require(['modules'], callback)
通俗地讲:RESTful 就是客户端与服务器进行数据交互的一种规范,而且是当今绝大多数开发者都在遵循的规范。...RESTful 就是 Web 开发行业的规范,符合这种规范,就是一套 RESTful 架构。 为什么学习RESTful?...RESTful设计方法和规范 在初步了解了 RESTful 之后,我们接到一项任务,需要为一所学校开发一套师生管理系统,客户要求所开发的系统能在 PC 桌面通过浏览器使用,而且日后还想开发 IOS 和...Id=2020 :获取ID为2020的学生信息 对于资源的操作,应该通过 HTTP 中的不同方法来区分处理资源的动作,资源路径中应当只包含名词。...超媒体链接 RESTful API 最好做到 Hypermedia(即返回结果中提供链接,连向其他 API 方法),使得用户不查文档,也知道下一步应该做什么。
配置非AMD规范JS: 我们知道要配置模块,js文件必须要使用AMD规范来编写,就是加上define函数,主动返回函数等操作。...但是我们以前编写的js,肯定没有这些功能,修改起来又比较麻烦,所以需要配置非AMD规范的JS。...(name) { console.log(name); } function initial(name) { console.log(name); } 这里面的normal就是非AMD规范的...然后调用还是按照以前的方法一样,代码如下: main.js代码: require(['/js/lib/config.js'], function () { require(['jquery',...normal) { normal.render("render"); normal.initial("initial"); }) }) 配置全局属性和配置非AMD规范的流程就是这样的
问题描述:Define a constant instead of duplicating this literal “total” 3(表示一个字符串重复出现了3次) 解决方法:将多次重复使用的字符串定义成一个字符串常量...使用时直接调用定义的字符串常量 private static final String TOTAL = "total"; 问题描述:Either log or rethrow this exception 解决方法...) 解决方法:将一个比较复杂的方法拆分成多个方法 修改前的代码 private List initParams(Map mapConfig) { List...:将私有方法改成公有方法 修改前的代码 private void initInstanceNodeTree(List> mapList, ClusterPo clusterPo...转载请注明: 【文章转载自meishadevs:代码规范类问题修改方法】
js中UMD规范的介绍 说明 1、UMD是AMD和CommonJS的结合。 CommonJS模块是根据服务器第一原则开发的。选择同步加载,其模块不需要包装。...通用模块定义,umd兼容commonjs和amd规范,这意味着umd规范的模块可以直接引用到commonjs规范的项目和amd规范的项目中。...2、UMD判断是否存在支持Node.js的模块(exports),然后使用Node.js模块模式。在判断是否支持AMD(define是否存在)时,使用AMD加载模块。...中UMD规范的介绍,希望对大家有所帮助。...更多js学习指路:js教程 推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。 收藏 | 0点赞 | 0打赏
一、前言 Promises/A是由CommonJS组织制定的异步模式编程规范,有不少库已根据该规范及后来经改进的Promises/A+规范提供了实现... 如Q, Bluebird, when, rsvp.js, mmDeferred, jQuery.Deffered()等。 ...虽然上述实现库均以Promises/A+规范作为实现基准,但由于Promises/A+是对Promises/A规范的改进和增强,因此深入学习Promises/A规范也是不可缺少的。 ...以下内容是读张鑫旭的《es6-javascript-promise-感性认知》和《js算法与思维方式》后的所思所想。 ...,但该规范仍然不够给力,于是出现了Promises/A+规范。
本文转载:http://www.cnblogs.com/StudyLife/archive/2013/03/11/2953516.html 本文不是基于B/S的 后台调用前台js方法,而是给你一段js方法字符串...首先要解析Js方法,可以用微软的msscript.ocx控件(Interop.MSScriptControl.dll)来解析js方法. 1.msscript.ocx下载的地址 http://www.microsoft.com...js方法,并调用js方法返回值。...using System; using MSScriptControl; using System.Text; //导入js文件,导入js 方法字符串,然后执行js方法。...假如有个js方法: function add(var a){return a+1;} 通过上面的ScriptEngine类调用 js:add 方法 ********************
第一个参数是开始截取的位置,第二个参数是截取的长度 substring第一个参数是开始截取的位置,第二个参数是截取的结束位置(不包含结束位置上的字符串) 5. find 和 findIndex find 方法返回第一个满足条件的值...,如果没有满足条件的值,find 会返回 undefined findIndex 方法则返回这个值在数组里的索引,如果没有满足条件的值,而 1 findIndex 返回-1。
领取专属 10元无门槛券
手把手带您无忧上云