javascript程序编码规范

js编码规范 1. 下列说法不正确的是 A. 如果你需要在已经被调用的函数中增加一个参数来处理一个特殊情况下的调用,请给这个函数中的这个参数设置默认值,以防万一在众多脚本中的众多调用中的一个忘记更新 B. 尽量使用Html中的Id作为JavaScript的变量名 C. DOM节点的ID常会用作CSS等的选择器,特殊字符可能会与选择器的语法冲突 D. 通常事件监听都是与DOM对象挂钩的,当事件监听没有被注 阅读详情

软件的长期价值直接源于其编码质量。在它的整个生命周期里,一个程序可能会被许多人阅读或修改。如果一个程序可以清晰的展现出它的结构和特征,那就能减少在以后对其进行修改时出错的可能性。

所有的javascript代码都是暴露给公众的。所以我们更应该保证其质量。

filename.js>应尽量放到body的后面。这样可以减少因为载入script而造成其他页面内容载入也被延迟的问题。也没有必要使用 language或者type属性。mime类型是由服务器而非scripttag来决定的。

缩进

避免每行超过80个字符。当一条语句一行写不下时,请考虑折行。在运算符号,最好是逗号后换行。在运算符后换行可以减少因为复制粘贴产生的错误被分号掩盖的几率。下一行应该缩进8个空格。

注释

及时地更新注释也很重要。错误的注释会让程序更加难以阅读和理解。

使用单行注释。块注释用于注释正式文档和无用代码。

变量声明

javascript没有块范围,所以在块里面定义变量很容易引起c/c++/java程序员们的误解。在函数的首部定义所有的变量。

所有的函数在使用前进行声明。 内函数的声明跟在var语句的后面。这样可以帮助判断哪些变量是在函数范围内的。

不要把_(下划线)作为变量名的第一个字符。它有时用来表示私有变量,但实际上javascript并没提供私有变量的功能。如果私有变量很重要, 那么使用私有成员的形式。应避免使用这种容易让人误解的命名习惯。

必须与 new共同使用的构造函数名应以大写字母开头。当new被省略时javascript不会有任何编译错误或运行错误抛出。忘记加 new时会让不好的事情发生(比如被当成一般的函数),所以大写构造函数名是我们来尽量避免这种情况发生的唯一办法。

每一行最多只包含一条语句。把;(分号)放到每条简单语句的结尾处。注意一个函数赋值或对象赋值语句也是赋值语句,应该以分号结尾。

复合语句是被包含在{ }(大括号)的语句序列。

  • 被括起的语句必须多缩进四个空格。
  • {(左大括号)应在复合语句其实行的结尾处。
  • }(右大括号)应与{(左大括号)的那一行的开头对齐
  • 大括号应该在所有复合语句中使用,即使只有一条语句,当它们是控制结构的一部分时, 比如一个if或者for语句。这样做可以避免以后添加语句时造成的错误。

标示

一条有返回值的return语句不要使用( )(括号)来括住返回值。如果返回表达式,则表达式应与return 关键字在同一行,以避免误加分号错误。

if 语句

第二种形式应用于对象中。object原型中的成员将会被包含在迭代器中。通过预先定义hasownproperty方法来区分真正的 object成员是个不错方法:

空格应在以下情况时使用:

  • 跟在((左括号)后面的关键字应被一个空格隔开。
        while (true) {
  • 函数参数与((左括号)之间不应该有空格。这能帮助区分关键字和函数调用。
  • 所有的二元操作符,除了.(点) 和((左括号)和 [(左方括号)应用空格将其与操作数隔开。
  • 一元操作符与其操作数之间不应有空格,除非操作符是个单词,比如typeof。
  • 每个在控制部分,比如for 语句中的; (分号)后须跟一个空格。
  • 每个,(逗号)后应跟一个空格。

另外的建议

{} 和[]

当成员名是一组有序的数字时使用数组来保存数据。当成员名是无规律的字符串或其他时使用对象来保存数据。

,(逗号)操作符

在javascript中块没有域。只有函数有域。不要使用块,除非在复合语句中。

赋值表达式

使用===和!==操作符会相对好点。==和!=操作符会进行类型强制转换。 特别是, 不要将==用于与错值比较( false,null,undefined,“”, 0,nan)。

令人迷惑的加号和减号

camera——HAL层知识分享 CameraHAL层是Android相机系统的核心中间层,负责连接Framework层与硬件驱动层。它通过标准化接口解耦软硬件,实现跨平台兼容性,同时为厂商提供硬件定制空间。主要功能包括:设备管理、数据流处理、参数控制以及图像优化。关键子系统涵盖预览、拍照、录像、对焦与曝光等模块,采用HAL3的"请求-响应"模型实现精细控制。性能优化重点关注启动时间、帧率稳定性和延迟控制。通过分层架构设计(接口层-核心层-适配层)和缓冲池机制,确保高效数据传输和硬件资源调度。 阅读详情

相关推荐

创客学院嵌入式驱动开发——学习资料汇总

1.创客学院知识巩固-01C语言回顾_C/C++_Set_Mode的博客-优快云博客https://blog.youkuaiyun.com/Set_Mode/article/details/94431050 2.创客学院知识巩固-02数据结构_Set_Mode的博客-优快云博客https://blog.youkuaiyun.com/Set_Mode/article/details/94431087 3.创客学院知...

snaking616 5118

【译】JavaScript最全编码规范

类型 基本类型:访问基本类型时,应该直接操作类型值 string number boolean null undefined javascriptvar foo = 1; var bar = foo; bar = 9; console.log(foo, bar); // => 1, 9 复合类型:访问复合类型时,应该...

weixin_33796177的博客 212

社工库2.0

#大题目 社工库2.0 ###环境 whoosh2.7 jieba 12306 python3.7 网上嫖来的网页模板(感谢站长之家 ###实现效果 建立的索引文件 好看的页面 更快的查找速度 ###实现过程 具体的实现过程比较简易,毕竟whoosh已经封装的很好了 第一步 建立索引并存储 schema = Schema(zhanghao=TEXT(stored=True), code=STORED, name=TEXT(stored=True, analyzer=

sdyinruichao的博客 2万+

js-standard-style ,更加快速了解vue安装模式

js-standard-style 这是 JavaScript standard 代码规范的全文。掌握本规范的最好方法是安装并在自己的代码中使用它。细则使用两个空格进行缩进。eslint: indentfunction hello (name) { console.log(‘hi’, name) } 除需要转义的情况外,字符串统一使用单引号。eslint: quotesconsole.l

ca817586的博客 1556

黑马Java第二阶段:JavaWeb(笔记)

黑马Java第二阶段:JavaWeb(笔记)

chen的博客 5667

ADS交叉耦合振荡器VCO仿真

本文主要参考视频中如何使用进行ADS交叉耦合振荡器仿真和分析,由于视频中有诸多错误和视频清晰度较低,虽然视频博主及时改正,为了节省学习时间,可以直接参考本文。

qq_32589131的博客 5430

js规范

目录 嵌入规则 对齐缩进与换行 命名 声明 类型 对象 数组 字符串 函数 属性 变量 条件表达式和等号 块 注释 空白 逗号 分号 类型转换 命名约定 存取器 构造器 事件 模块 -jQuery 嵌入规则Javascript程序应该尽量放在.js的文件中,需要调用的时候在页面中以<script src="filename.js">的形式包含进来。Javascript代码若不是该页面专用的,则应尽

心暖未晴 1693

C++,使用Qt设计一个登录窗口

使用Qt设计一个登录界面

heyu0311的博客 2991

JS的编码风格

来自Airbnb JavaScript Style Guide的学习: 1.命名应具备描述性 // bad function a(){ alert('hello'); } // good function sayHello(){ alert('hello'); } 2.使用驼峰式命名对象、函数和实例 // bad var OBJEcttsssss = {}; var ...

gzkahjl的博客 802

23. STM32F103C8T6 ADC采集光敏电阻传感器模块光照强度实战

本文详细介绍了如何使用STM32F103C8T6的ADC模块采集光敏电阻传感器的光照强度。通过硬件接线、核心原理讲解、四步代码配置(GPIO、ADC模式、使能校准、数据滤波)以及串口验证,手把手指导完成从模拟信号到数字值的完整实战流程,并重点提示了ADC时钟分频等关键配置要点。

weixin_42300144的博客 223

three.js 载入 3D 模型的方法

三维模型的加载器ColladaLoader模型加载器。GLTFLoader模型加载器。OBJLoader模型加载器。FBXLoader模型加载器。

w418856的博客 4363

[转]JavaScript程序编码规范

原文:http://javascript.crockford.com/code.html 作者:Douglas Crockford 译文:http://www.yeeyan.com/articles/view/cloudwater/4042 译者:cloudwa...

chuliaoqiao4046的博客 95

【unity知识】最新的虚拟相机Cinemachine3简单使用介绍

本文介绍了Unity中Cinemachine 3虚拟相机系统的使用方法。相比旧版本,新版功能更强大且参数分类更直观。文章详细讲解了摄像机镜头参数、旋转控制(包括None、目标跟随、样条线推拉、旋转追随等6种模式)和位置控制(跟随、样条轨道、硬锁定等5种模式)。重点演示了样条轨道摄像机的创建与配置,以及如何实现第一人称和第三人称视角。通过丰富的GIF图示,展示了各种模式的运行效果,帮助用户快速掌握Cinemachine 3的核心功能。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 867

JavaScript程序编码规范

翻译:cloudwater作者:Douglas Crockford来源:http://javascript.crockford.com/code.html 转载网址:http://www.yaohaixiao.com/?p=196这是一套适用于JavaScript程序的编码规范。它基于Sun的Java程序编码规范。但进行了大幅度的修改, 因为JavaScript不是Java。 软件的...

93

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

JavaScript程序编码规范(转摘)

JavaScript程序编码规范2008.01.14  来自:译言cloudwater 译   Douglas Crockford   这是一套适用于JavaScript程序的编码规范。它基于Sun的Java程序编码规范。但进行了大幅度的修改, 因为JavaScript不是Java。show_ads_zone(13); 这是一套适用于JavaScript

harricc的专栏 544

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: javascript中最流行的2种定义类的方式
下一篇: 不同浏览器基于javascript测试结果
Labber
博客等级 码龄19年 26粉丝 1976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值