javascrip学习——规范

     2022-05-24     188

关键词:

参考:

  • 汤姆大叔的博客 : http://www.cnblogs.com/TomXu/archive/2011/12/28/2286877.html  
  •  阮一峰           :http://www.ruanyifeng.com/blog/2012/10/javascript_module.html

JavaScript规范

  1. 为了防止命名冲突尽量少用全局变量
    function sum(x, y) {
       // 不推荐写法: 隐式全局变量,即使想要定义成全局也不要使用这种写法,而应该在全局环境中使用var定义
       result = x + y;
       return result;
    }

     

    function foo() {
       // a是局部变量但b是全局
       var a = b = 0;
    }
  2. 尽量将函数中的变量声明提到函数顶部
    function func() {
       var a = 1,
           b = 2,
           sum = a + b,
           myobject = {},
           i,
           j;
       // function body...
    }
  3. 遍历数组时预先取得数组长度(防止每次循环都要取长度)
    // 次佳的循环
    for (var i = 0; i < myarray.length; i++) {
       // 使用myarray[i]做点什么
    }
    for (var i = 0, max = myarray.length; i < max; i++) {
       // 使用myarray[i]做点什么
    }
  4. 尽量不要扩展js内置的构造函数原型(Object(), Array(), 或Function())
    if (typeof Object.protoype.myMethod !== "function") {
       Object.protoype.myMethod = function () {
          // 如果必要...
       };
    }
  5. 不使用eval()、 with、 for in
  6. 不要给setInterval(), setTimeout()和Function()构造函数传递字符串(等同于使用eval())
    // 反面示例
    setTimeout("myFunc()", 1000);
    setTimeout("myFunc(1, 2, 3)", 1000);
    
    // 更好的
    setTimeout(myFunc, 1000);
    setTimeout(function () {
       myFunc(1, 2, 3);
    }, 1000);
  7. 使用Number()而非parseInt(),使用parseInt()时带上基数
    var month = "06",
        year = "09";
    month = parseInt(month, 10);
    year = parseInt(year, 10);
  8. 使用统一的缩进风格
  9. 尽量不要省略{}
  10. 构造函数首字母大写
  11. 合理使用注释
  12. 使用立即执行(不污染全局、防止私有变量被外部修改)
      var module1 = (function(){
        var _count = 0;
        var m1 = function(){
          //...
        };
        var m2 = function(){
          //...
        };
        return {
          m1 : m1,
          m2 : m2
        };
      })();
  13. //放大模式,用于扩展、继承
    var module1 = (function (mod){
        mod.m3 = function () {
          //...
        };
        return mod;
      })(module1);
     var module1 = ( function (mod){
        //宽放大模式,防止加载到空对象出错
        return mod;
      })(window.module1 || {});

     

 

react学习笔记

...定(Autobinding)和事件代理(EventDelegation)自动绑定:在JavaScrip 查看详情

javascrip写的贪吃蛇

原生JavaScript写的贪吃蛇这个游戏好像就如同helloworld一样,简单又有代表性,以前我学习c语言的时候,第一个做的趣味小游戏也是贪吃蛇---------------------------------1//贪吃蛇的食物模块2(function(){3varelements=[]4//创建一个食物的构造... 查看详情

前端学习(3291):reacthook规范

查看详情

5g学习:协议规范与命名规则

5G学习:协议规范与命名规则3GPP协议全名=规范编号+版本号构成(例如:5GR15版本3GPPTS38.300V15.5.0)规范编号协议分为两种:标准化项目(WI:WorkItem)输出TS技术规范technicalspecification研究项目(SI:StudyItem)输出TR技术报告technicalre... 查看详情

5g学习:协议规范与命名规则

5G学习:协议规范与命名规则3GPP协议全名=规范编号+版本号构成(例如:5GR15版本3GPPTS38.300V15.5.0)规范编号协议分为两种:标准化项目(WI:WorkItem)输出TS技术规范technicalspecification研究项目&#x... 查看详情

阿里编码规范学习

针对附录中的阿里编码规范,直接指定标题位置,或列出相应规范内容,与其说是编码规范,不如说是新手防坑指南,菜鸟们很值得一看。一编码规范(一)命名规约6.【强制】抽象类命名使用Abstract或Base开头;异常类命名使用E... 查看详情

数据库规范——学习小记(代码片段)

数据库规范——学习小记之前在学习后端开发的时候,在数据库这一块,有关建表与查询效率等方面一直存有疑问,但因为做的项目都很小,不太需要考虑效率与规范,所以想着能实现功能就行。因此最近打算深入了解一些建表... 查看详情

java学习---java代码编写规范

 编码规范1前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的编程风格,兹制定下述Java编程规范,以规范系统Java部分编程。系统继承的其它资源中的源程序也应按此规范作相应修改。2适... 查看详情

promise规范学习

/* ecma6实现了原生的js实现规范 解决异步加载的问题 *//* es6中原生的promise如何使用 状态-》pending等待-》resolve通过状态-》reject拒绝状态 then方法调用resolve和reject状态所对应的回调函数 */用法:jquery中的用法<script>/*jquery中的de... 查看详情

html学习笔记——语法规范(代码片段)

title:HTML学习笔记(1)——语法规范.mdauthor:UDKdate:2021/05/20updated:2021/05/21categories:HTML学习记录标签规范HTML标签是由尖括号包围的关键词如<html>标签通常是成对出现的<html></html>此为双标签,第一个标签是开水标签࿰... 查看详情

深度学习中的规范化(bnln等四种规范化)

这篇文章介绍深度学习四种主流的规范化,分别是BatchNormalization(BN[9]),LayerNormalization(LN[7]),InstanceNormalization(IN[8])以及GroupNormalization(GN[2])。1.作用为啥用Normalization?这是因为训练深度神经网络会收敛很慢,很有可能发生梯度... 查看详情

alphascrummeeting6

...:2021/6/176.1今日完成任务情况以及遇到的问题。崔红梅:学习互评方的项目资料,进行软件项目后台代码规范并完善项目编码规范说明文档。包凤梅:学习互评方的项目资料,进行软件项目后台代码规范检查项目编码规范说明文... 查看详情

css学习_写法规范选择器

1、css(层叠样式表)样式主要目的(让页面更好看些)css尽量不要写内联样式,保证结构和样式分离原则;html专门负责结构,css专门负责样式。2、css写法规范选择器 {属性:值;}内联样式 写在标签里  style=“... 查看详情

cmd规范学习笔记——基于seajs实现

CMD(CommonModuleDefinition):该规范明确了模块的书写格式和基本交互规则。通常一个模块就是一个JS文件。通过define关键字来定义模块,最基本的格式为:define(factory);//这里的define是一个全局函数,factory可以是函数或者合法的值。一... 查看详情

web前端---javascrip基础

avaScrip基础JavaScrip简介第一个JavaScrip代码数据类型运算符数据类型转换流程控制常用内置对象一、JavaScrip简介1.JavaScrip历史背景介绍    布兰登?艾奇(BrendanEich,1961年~),1995年在网景公司,发明的JavaScript。  一开始JavaS... 查看详情

前端小小白的学习之路javascript常用代码书写规范

javascript代码规范代码规范我们应该遵循古老的原则:“能做并不意味着应该做”。全局命名空间污染总是将代码包裹在一个立即的函数表达式里面,形成一个独立的模块。不推荐varx=10,y=100;console.log(window.x+‘‘+window.y);推... 查看详情

任务3-关于代码规范化

164173423王杰GitHub地址https://github.com/wangjie97学习内容总结学习了代码规范化,对代码的规范化有了个较深刻的理解学习成果大致发现了其他同学在C#1~3的学习中所提交的代码中的代码不要规范的地方第一个简单程序设计时,因为当... 查看详情

前端1.学习了一段时间的vue,总结一下vue书写规范(代码片段)

学习了一段时间的vue,总结一下Vue书写规范命名规范普通变量命名规范常量命名规范组件命名规范method方法命名命名规范views下的文件命名props命名规范结构化规范命名规范在团体开发项目中,为了团队所有成员书写可维... 查看详情