js的規范寫法ES5(自己以后按照這樣寫)

1、引號的使用,單引號' ' 優先(如果不是引號嵌套,不要使用雙引號)?

    正常情況:console.log('hello there') ? ? ? ?雙引號轉碼:?$("<div class='box'>")

?

2、空格的使用問題:(關鍵字后 ?符號后 排版 函數 賦值符號= )等

a 函數的括號:function hello(name) ?{} ? ?看 (參數)的 "括號外左右"( ?) 是有空格的,"括號內name左右" 是沒有空格的
b 關鍵字后需要空格:if(condition) { ... } ?if和()之間需要有空格
c 賦值符號 = 兩邊需要有空格 :var x=2 ?賦值符號 = 兩邊需要空格
d 字符串拼接符號 + 兩邊需要空格:var message = 'hello, '+name+'!' 常量和變量之間的+號,左右兩邊需要空格
e 逗號,前面不要留空格,后面留空格:var list = [1,2,3,4] ? ? ? ? ?function greet ?(name,options) ?{ ... } 逗號前面不留后面留空格

3、同行不同行的問題:

if () {} else {}中: ?} else { 要在一行內
if (XXX) {
//?
}else{
//
}

4、不寫沒有使用過的變量,如果定義了一個變量,后來一直沒有參與過運算,那么不應該定義這個變量。

5、用=== 代替 ==,比較相等的時候,因為 == 會多一步數據轉換,但是當在 if (a!=undefiend) {}條件中, a!=undefiend同時有a!==undefiend和a!==null的雙重意思(null == undefined)

?

6、習慣給window的屬性和方法加上window,例外的幾個不用加window:document ,console ,navigator。 ?如:window.alert('hi')

7、同一個連寫方法很長要換行縮進問題,js中三元運算符,jq中的連綴等

var location = env.development ? 'localhost' : 'www.api.com' ?一行內寫法
var location = env.development
? 'localhost'
: 'www.api.com'
連綴寫法:

var leds = stage.selectAll('.led')
    .data(data)
  .enter().append('svg:svg')
    .class('led', true)
    .attr('width', (radius + margin) * 2)
  .append('svg:g')
    .attr('transform', 'translate(' + (radius + margin) + ',' + (radius + margin) + ')')
    .call(tron.led);

?8、注釋問題:要有與前一行要空一行 ? ? ? 另外不要無緣無故有大片的空白行 ? ? ? ? ? // 后面空一格

    var value ?=? 'hello world';

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?空一行

    / /??這里是注釋 ??

    console.log(value)

?

  多行注釋:(這也可以用到版權信息注釋

  /**
  * make() returns a new element
  * based on the passed in tag name
  *
  * @param <String> tag
  * @return <Element> element
  */

9、開頭問題:不要 ?( ? [ ? ` ? 開頭, 在開頭前要加上;號
;(function () {window.alert('ok')}())
;[1, 2, 3].forEach(bar)    
;`hello`.indexOf('o')

10、對象和數組的創建問題:var item = {}; 不用new Object()方式 ? ? ? ? ? ? 數組:var arr = []

11、超過80個字的字符串連接問題:

var?errorMessage =?'This is a super long error that '?+
'was thrown because of Batman.'+
'When you stop to think about '?+
'how Batman had anything to do '+
'with this, you would get nowhere '?+
'fast.';
循環 或者 多行字符串 用join方法來構建
function?inbox(messages) {
items = [];?
for(i = 0; i < length; i++) {
items[i] = messages[i].message;
}?
return'<ul><li>'+ items.join() +?;
}

12、對數字使用 parseInt 并且總是帶上類型轉換的基數. ? ? var val = parseInt(inputValue, 10);

13,布爾值轉換 用Boolean() 或者 !! ? ? ?? var ?hasAge = Boolean(age); ? ? var hasAge = !!age;

14、命名問題:

a 命名私有屬性時前面加個下劃線 _ ? ? ?如:構造函數中 this._firstName = 'Panda'; ? ? var _firstName = firstName;?
b jq變量命名加上個$,用來區分js變量

轉載于:https://www.cnblogs.com/faith3/p/6188261.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253739.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253739.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253739.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

刪除本地git的遠程分支和遠程刪除git服務器的分支

在項目中使用git管理代碼后&#xff0c;有些時候會創建很多不同名稱的分支&#xff0c;以此區分各個分支代碼功能。 而隨著代碼的合并&#xff0c;以前的分支就可能不再需要保存了&#xff0c;所以就要對沒有用的分支進行刪除&#xff0c;包括緊急回滾時從中抽取某一個版本記錄…

數字圖像處理——引導濾波

一、概述 引導濾波是由何愷明等人于2010年發表在ECCV的文章《Guided Image Filtering》中提出的&#xff0c;后續于2013年發表。引導過濾器根據局部線性模型原理&#xff0c;通過考慮引導圖像的內容來計算過濾輸出&#xff0c;引導圖像可以是輸入圖像本身或另一個不同的圖像。具…

Ubuntu 18.04換國內源

2019獨角獸企業重金招聘Python工程師標準>>> 參考文檔&#xff1a; https://blog.csdn.net/zhangjiahao14/article/details/80554616 https://blog.csdn.net/xiangxianghehe/article/details/80112149 1.復制源文件備份&#xff0c;以防萬一 我們要修改的文件是sour…

video4linux簡介

Video4linux&#xff08;簡稱V4L),是linux中關于視頻設備的內核驅動,現在已有Video4linux2&#xff0c;還未加入linux內核&#xff0c;使用需自己下載補丁。在Linux中&#xff0c;視頻設備是設備文件&#xff0c;可以像訪問普通文件一樣對其進行讀寫&#xff0c;攝像頭在/dev/v…

動態DPC算法學習

造成壞點的原因 感光元件芯片自身工藝技術瑕疵造成;光線采集存在缺陷;制造商產品差異;壞點分類 hot pixel: 固定保持較高的像素值,一般呈現為畫面高亮的點;dead pixel: 固定保持較低的像素值,一般在畫面中呈現為暗點;noise pixel:信號強度隨光照呈現的變化規律不符合正…

windows 郵槽mailslot 在服務程序內建立后客戶端無權限訪問(GetLastError() == 5)的問題...

郵槽創建在服務程序內&#xff0c;可以創建成功&#xff0c; 但外部客戶端連接時 m_hMailslot CreateFile("\\\\.\\mailslot\\zdpMailslot",GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);GetLastError返回錯誤 5 &#xff0c;無權…

遞歸下降分析

對于給定的文法G[E] : E→ET|E-T|TT→T*F| T/F|FF→(E)|i 消除左遞歸后的文法是&#xff1a;E→TE E→TE|-TE|∑ T→FT T→*FT|/FT|∑ F→(E)|i 是否是LL(1)文法&#xff1f; select(E→TE)first(TE){(,i}select(E→TE)first(TE){}select(E→-TE)first(-TE){-}select(E→∑)fol…

SYS簡介

"sysfs is a ram-based filesystem initially based on ramfs. It provides a means to export kernel data structures, their attributes, and the linkages between them to userspace.” --- documentation/filesystems/sysfs.txt 可以先把documentation/filesystems/…

數字后端——布圖規劃

布圖規劃&#xff08;floorplan&#xff09;與布局&#xff08;place&#xff09;在芯片設計中占據著重要的地位&#xff0c;它的合理與否直接關系到芯片的時序收斂、布線通暢、電源穩定以及良品率。所以在整個芯片設計中&#xff0c;從布圖規劃到完成布局一般需要占據整個物理…

利用SSH傳輸文件

在linux下一般用scp這個命令來通過ssh傳輸文件。 1、從服務器上下載文件scp usernameservername:/path/filename /var/www/local_dir&#xff08;本地目錄&#xff09; 2、上傳本地文件到服務器scp /path/filename usernameservername:/path 例如scp /var/www/test.php root19…

App WebView實例化

a&#xff0c;高級設置里的環境變量 jdk的配置 b&#xff0c;下載Google的sdk&#xff0c;里面直接包含eclipse 1&#xff0c;新建一個項目 2&#xff0c;起個名字 3&#xff0c;設么走不做&#xff0c;next 4&#xff0c;只操作選擇顯示的三種方式 5&#xff0c;next什么都不做…

[動態代理三部曲:下] - 從動態代理,看Retrofit的源碼實現

前言 關于動態代理的系列文章&#xff0c;到此便進入了最后的“一出好戲”。前倆篇內容分別展開了&#xff1a;從源碼上&#xff0c;了解JDK實現動態代理的原理&#xff1b;以及從動態代理切入&#xff0c;學會看class文件結構的含義。 如果還沒有看過這倆篇文章的小伙伴&#…

Ti的DM368系列芯片的所有PDF資料匯總

http://www.ti.com/sc/docs/psheets/man_dsp.htm

劉浩(專業打劫三十年)20155307的預備作業02:

我的技能&#xff1f;比大多數人好&#xff1f;經驗是什么&#xff1f;與老師的經驗的共同之處&#xff1f; 我的技能之一就是單詞翻譯王——其實看了婁老師的學習經驗之后便有些自慚形穢了&#xff0c;我目前的單詞量是7300,扇貝上測的&#xff0c;而且測試時是嚴格的“不會就…

數字后端——電源規劃

電源規劃是給整個芯片的供電設計出一個均勻的網絡&#xff0c;它是芯片物理設計中非常關鍵的一部分。電源規劃在芯片布圖規劃后或在布圖規劃過程中交叉完成,它貫穿于整個設計中&#xff0c;需要在芯片設計的不同階段對電源的供電網絡進行分析并根據要求進行修改。&#xff0c;主…

逆向project實戰--Acid burn

0x00 序言 這是第二次破解 crackme 小程序&#xff0c;感覺明顯比第一次熟練。破解過程非常順利&#xff0c;差點兒是分分鐘就能夠找到正確的 serial&#xff0c;可是我們的目標是破解計算過程。以下將具體介紹。 0x01 初次執行 剛開始拿到 crackme 先執行程序。看看有哪些明顯…

PyCharm使用技巧(六):Regullar Expressions的使用

2019獨角獸企業重金招聘Python工程師標準>>> PyCharm v2018.2最新版本下載 使用正則表達式查找和替換文件中的文本 示例代碼 使用正則表達式查找和替換字符串 假設您想用擴展標記<title> </title>替換元素&#xff08;title&#xff09;中的屬性&#x…

內核中_init,_exit中的作用

__init&#xff0c; __initdata等屬性標志&#xff0c;是要把這種屬性的代碼放入目標文件的.init.text節&#xff0c;數據放入.init.data節──這一過程是通過編譯內核時為相關目標平臺提供了xxx.lds鏈接腳本來指導ld完成的。 對編譯成module的代碼和數據來說&#xff0c;當模…

jQuery筆記總結

來源于&#xff1a;http://blog.poetries.top/2016/10/20/review-jQuery/ http://www.jianshu.com/p/f8e3936b34c9 首先&#xff0c;來了解一下jQuery學習的整體思路 第一節 jQuery初步認知 jQuery概述 JQuery概念 javascript概念 基于Js語言的API和語法組織邏輯&#xff0c;通…

芯片生產流程

每個半導體產品的制造都需要數百個工藝&#xff0c;泛林集團將整個制造過程分為八個步驟&#xff1a;晶圓加工-氧化-光刻-刻蝕-薄膜沉積-互連-測試-封裝。 一、晶圓加工 所有半導體工藝都始于一粒沙子&#xff01;因為沙子所含的硅是生產晶圓所需要的原材料。晶圓是將硅(Si)或砷…