最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何正確使用javascript 來(lái)進(jìn)行我們的程序開發(fā)

 更新時(shí)間:2014年06月23日 16:12:50   投稿:whsnow  
Javascript 正確使用方法,下面為大家介紹的是一個(gè)關(guān)于如何正確使用javascript 來(lái)進(jìn)行我們的程序開發(fā),需要的朋友可以參考下

今天在github 上面找到了一個(gè)關(guān)于如何正確使用javascript 來(lái)進(jìn)行我們的程序開發(fā).我就恬不知恥的來(lái)了個(gè)原創(chuàng)啊..坑爹啊.拿來(lái)和大家分享一下吧.
A mostly reasonable approach to Javascript.
Types //類型
Objects //對(duì)象
Arrays //數(shù)組
Strings //字符串
Functions //函數(shù)
Properties //屬性
Variables //變量
Hoisting //變量提升
Conditional Expressions & Equality //條件表達(dá)式和等式.
Blocks //塊代碼
Comments //注釋
Whitespace //空格
Commas //逗號(hào)
Semicolons //分號(hào)
Type Casting & Coercion //類型轉(zhuǎn)換
Naming Conventions //命名規(guī)則
Accessors //訪問(wèn)
Constructors //構(gòu)造器
Events //時(shí)間
Modules //模型
jQuery //
ECMAScript 5 Compatibility //ECMA 5 兼容
Testing //測(cè)試
Performance //性能
Resources //資源
In the Wild
Translation
The JavaScript Style Guide Guide
Contributors
License

Types (類型)
原始類型: 當(dāng)訪問(wèn)一個(gè)原始類型的時(shí)候,其實(shí)直接訪問(wèn)該原始類型的內(nèi)容.
string
number
boolean
null
undefined
var foo = 1,
bar = foo;
bar = 9;
console.log(foo,bar); //=> 1,9

復(fù)雜類型: 當(dāng)你訪問(wèn)一個(gè)復(fù)雜類型數(shù)據(jù)類型的時(shí)候,其實(shí)是通過(guò)引用訪問(wèn)該變量的值.
object
array
function

var foo = [1,2];
bar = foo;
bar[0] = 9;
console.log(foo[0],bar[0]); // => 9,9

object(對(duì)象)
使用對(duì)象字面量來(lái)創(chuàng)建對(duì)象 (literal)

//bad
var item = new Object();
//good
var item = {};

不要使用保留關(guān)鍵字作為對(duì)象的屬性名.這在IE8下無(wú)法工作.

//bad
var superman = {
default: {clark: 'kent'},
private: true
};
//good
var superman = {
defaults: {clark: 'kent'},
hidden: true
};

array(數(shù)組)
同樣使用 字面量方法來(lái)創(chuàng)建數(shù)組

//bad
var items = new Array();
//good
var items = [];

如果你不知道數(shù)組的長(zhǎng)度,那么使用Array的內(nèi)置方法push進(jìn)行插入操作

var someStack = [];
//bad
someStack[someStack.length] = 'vein';
//good
someStack.push('vein');

當(dāng)你想要拷貝一個(gè)數(shù)組的時(shí)候,使用array.slice

var len = items.length, //指的就是上面的內(nèi)容...
itemCopy = [],
i;
//bad
for(i = 0; i < len ; ++i){
itemCopy[i] = items[i];
}
//good
itemCopy = items.slice(); //這里要注意了.這個(gè)我還真不知道...

Strings 字符串
使用單引號(hào) (single quotes ) 來(lái)包圍字符串...//這里我沒(méi)有找到合適的關(guān)于性能方面的解釋,我個(gè)人也喜歡這么用,(穿的少總比穿得多好看點(diǎn)吧..你懂得..)

//bad
var name = "Bob Parr";
//good
var name = 'Bob Parr';
//bad
var fullName = "Bob " + this.lastName;
//good
var fullName = 'Bob ' + this.lastName;

字符串長(zhǎng)于80個(gè)字符的時(shí)候需要使用字符串連接在多行進(jìn)行編寫..注意,如果過(guò)度使用,連接字符串將會(huì)影響性能(performance)

// bad
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.';
// bad
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.';
// good
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.';

如果是有計(jì)劃的 建立一個(gè)數(shù)組,像下面這樣.使用Array.join 效果會(huì)更好..

var items,
messages,
length,
i;
messages = [{
stat: 'success',
message: ' This one worked'
},{
stat: 'success',
message: ' This one worked'
},{
stat: 'success',
message: ' This one worked'
}
];
length = messages.length;
//bad
function inbox(messages){
items = '<ul>';
for (i = 0; i < length; i++) {
items += '<li>' + messages[i].message + '</li>';
}
return items + '</ul>';
}
//good
function inbox(messages){
items = [];
for( i = 0; i < length ; i++){
items[i] = messages[i].message;
}
return '<ul><li>' + items.join('</li><li>') + '</li></ul>';
}

函數(shù)(Functions)

//匿名函數(shù)表達(dá)式..
var anonymous = function(){
return true;
};
// 命名函數(shù)表達(dá)式.
var named = function named(){
return true;
};
//即時(shí)引用函數(shù)
(function(){
console.log('Welcome to the Internet. Please follow me.');
})();

永遠(yuǎn)不要在非函數(shù)的塊代碼(if,while)中定義函數(shù).相應(yīng)的,在代碼塊中間函數(shù)賦值給外部的變量名..

//bad
if(currentUser){
function test(){
console.log('Nope.');
}
}
//good
var test;
if(currentUser){
test = function(){
console.log('Yup'); 
}; //be careful with the semi-colon.
}

Properties (屬性)
使用點(diǎn)語(yǔ)法來(lái)訪問(wèn)屬性.

var luke = {
jedi: true,
age: 28
};
//bad
var isJedi = luke['jedi'];
//good
var isJedi = luck.jedi;

當(dāng)使用變量訪問(wèn)對(duì)象屬性時(shí),使用 [] 方括號(hào)來(lái)訪問(wèn)

var luke = {
jedi: true,
age: 28
};
function getProp(prop) {
return luke[prop];
}
var isJedi = getProp('jedi');

相關(guān)文章

  • JavaScript使用sort函數(shù)實(shí)現(xiàn)漢字排序

    JavaScript使用sort函數(shù)實(shí)現(xiàn)漢字排序

    JavaScript中的sort函數(shù)是一個(gè)強(qiáng)大且多用途的工具,能夠?qū)?shù)組的元素進(jìn)行排序,而漢字按照拼音排序又是一個(gè)常見需求,下面我們就來(lái)看看如何使用JavaScript實(shí)現(xiàn)漢字排序吧
    2023-12-12
  • JavaScript中的簡(jiǎn)寫語(yǔ)法分享

    JavaScript中的簡(jiǎn)寫語(yǔ)法分享

    這篇文章主要為大家整理了12個(gè)JavaScript中常用的簡(jiǎn)寫語(yǔ)法技巧,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以收藏一下
    2023-04-04
  • 詳解JS如何實(shí)現(xiàn)文字溢出時(shí)用省略號(hào)...顯示

    詳解JS如何實(shí)現(xiàn)文字溢出時(shí)用省略號(hào)...顯示

    這篇文章主要為大家詳細(xì)介紹了JavaScript如何實(shí)現(xiàn)當(dāng)文本內(nèi)容過(guò)長(zhǎng)時(shí),中間顯示省略號(hào)...,兩端正常展示,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • 用vbs實(shí)現(xiàn)的連連看在線游戲

    用vbs實(shí)現(xiàn)的連連看在線游戲

    大家可以參考下代碼,發(fā)現(xiàn)這個(gè)真?zhèn)€不錯(cuò)的思路
    2008-07-07
  • JavaScript實(shí)現(xiàn)拼圖式滑塊驗(yàn)證功能

    JavaScript實(shí)現(xiàn)拼圖式滑塊驗(yàn)證功能

    滑塊驗(yàn)證碼是在網(wǎng)站、APP等應(yīng)用中常見的一種驗(yàn)證方式,通過(guò)按照一定規(guī)則滑動(dòng)滑塊到指定位置完成驗(yàn)證,才可以進(jìn)行下一步操作,本文給大家分享基于JavaScript實(shí)現(xiàn)拼圖式滑塊驗(yàn)證功能,感興趣的朋友一起看看吧
    2022-06-06
  • 如何使Chrome控制臺(tái)支持多行js模式——意外發(fā)現(xiàn)

    如何使Chrome控制臺(tái)支持多行js模式——意外發(fā)現(xiàn)

    一直以來(lái),Chrome控制臺(tái)都缺少象IE調(diào)試臺(tái)那樣的多行執(zhí)行模式,今天意外發(fā)現(xiàn)Chrome其實(shí)也支持多行模式
    2013-06-06
  • Openlayers學(xué)習(xí)之地圖比例尺控件

    Openlayers學(xué)習(xí)之地圖比例尺控件

    這篇文章主要為大家詳細(xì)介紹了Openlayers學(xué)習(xí)之地圖比例尺控件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 基于jQuery通過(guò)jQuery.form.js插件使用ajax提交form表單

    基于jQuery通過(guò)jQuery.form.js插件使用ajax提交form表單

    在jQuery Form插件可以讓你很容易的使用AJAX提交Form表單,主要方法ajaxForm和ajaxSubmit負(fù)責(zé)收集表單元素的信息,管理提交進(jìn)程。這兩種方法都是可配置的,讓你完全控制Form提交,本篇文章介紹基于jQuery通過(guò)jQuery.form.js插件使用ajax提交form表單,需要的朋友可以參考下
    2015-08-08
  • 如何解決js函數(shù)防抖、節(jié)流出現(xiàn)的問(wèn)題

    如何解決js函數(shù)防抖、節(jié)流出現(xiàn)的問(wèn)題

    這篇文章主要介紹了如何解決js函數(shù)防抖、節(jié)流出現(xiàn)的問(wèn)題。SyntheticEvent對(duì)象是通過(guò)合并得到的。 這意味著在事件回調(diào)被調(diào)用后,SyntheticEvent 對(duì)象將被重用并且所有屬性都將被取消。 因此,您無(wú)法以異步方式訪問(wèn)該事件。,需要的朋友可以參考下
    2019-06-06
  • js 實(shí)現(xiàn)菜單左右滾動(dòng)顯示示例介紹

    js 實(shí)現(xiàn)菜單左右滾動(dòng)顯示示例介紹

    菜單左右滾動(dòng)顯示的實(shí)現(xiàn)方法有很多,在本文將為大家介紹下如何使用js實(shí)現(xiàn),需要的朋友可以參考下,希望對(duì)大家有所幫助
    2013-11-11

最新評(píng)論

苍山县| 民权县| 大同市| 五寨县| 东宁县| 育儿| 来宾市| 双流县| 富锦市| 佛学| 平原县| 绿春县| 太仆寺旗| 隆尧县| 常州市| 视频| 东光县| 井研县| 南宫市| 山东| 辽阳县| 北宁市| 昌平区| 敦化市| 古蔺县| 耒阳市| 灵武市| 永年县| 望奎县| 余干县| 垦利县| 永嘉县| 香港| 荔浦县| 咸丰县| 张家界市| 三原县| 封丘县| 隆回县| 昌平区| 年辖:市辖区|