Table des matières
Great Web resources
Maison interface Web js tutoriel JavaScript初学者应注意的七个细节详细介绍_基础知识

JavaScript初学者应注意的七个细节详细介绍_基础知识

May 16, 2016 pm 05:45 PM
初学者 détail

种种语言都有它特别的地方,对于JavaScript来说,使用var就可以声明任意类型的变量,这门脚本语言看起来很简单,然而想要写出优雅的代码却是需要不断积累经验的。本文利列举了JavaScript初学者应该注意的七个细节,与大家分享。
(1)简化代码
--------------------------------------------------------------------------------
JavaScript定义对象和数组非常简单,我们想要创建一个对象,一般是这样写的:

复制代码 代码如下:

var car = new Object();
car.colour = 'red';
car.wheels = 4;
car.hubcaps = 'spinning';
car.age = 4;

下面的写法可以达到同样的效果:
复制代码 代码如下:

var car = {
colour:'red',
wheels:4,
hubcaps:'spinning',
age:4
}

后面的写法要短得多,而且你不需要重复写对象名称。
另外对于数组同样有简洁的写法,过去我们声明数组是这样写的:
复制代码 代码如下:

var moviesThatNeedBetterWriters = new Array(
'Transformers','Transformers2','Avatar','Indiana Jones 4'
);

更简洁的写法是:
复制代码 代码如下:

var moviesThatNeedBetterWriters = [
'Transformers','Transformers2','Avatar','Indiana Jones 4'
];

对于数组,还有关联数组这样一个特别的东西。 你会发现很多代码是这样定义对象的:
复制代码 代码如下:

var car = new Array();
car['colour'] = 'red';
car['wheels'] = 4;
car['hubcaps'] = 'spinning';
car['age'] = 4;

这太疯狂了,不要觉得困惑,“关联数组”只是对象的一个别名而已。
另外一个简化代码的方法是使用三元运算符,举个例子:
复制代码 代码如下:

var direction;
if(x direction = 1;
} else {
direction = -1;
}

我们可以使用如下的代码替换这种写法:
复制代码 代码如下:

var direction = x

(2)使用JSON作为数据格式
伟大的Douglas Crockford发明了JSON数据格式来存储数据,你可以使用原生的javascript方法来存储复杂的数据而不需要进行任何额外的转换,例如:
复制代码 代码如下:

var band = {
"name":"The Red Hot Chili Peppers",
"members":[
{
"name":"Anthony Kiedis",
"role":"lead vocals"
},
{
"name":"Michael 'Flea' Balzary",
"role":"bass guitar, trumpet, backing vocals"
},
{
"name":"Chad Smith",
"role":"drums,percussion"
},
{
"name":"John Frusciante",
"role":"Lead Guitar"
}
],
"year":"2009"
}

你可以使用在JavaScript中直接使用JSON,甚至作为API返回的一种格式,在许多的API中被应用,例如:
复制代码 代码如下:

<script> <BR>function delicious(o){ <BR>var out = '<ul>'; <BR>for(var i=0;i<o.length;i++){ <BR>out += '<li><a href="' + o[i].u + '">' + <BR>o[i].d + ''; <BR>} <BR>out += ''; <BR>document.getElementById('delicious').innerHTML = out; <BR>} <BR></script>


这里调用delicious 的Web服务获取最新书签,以JSON格式返回,然后将它们显示成无序列表的形式。
从本质上讲,JSON是用于描述复杂的数据最轻量级的方式,而且直接它运行在浏览器中。 你甚至可以在PHP中调用 json_decode()函数来使用它。
(3)尽量使用JavaScript原生函数
--------------------------------------------------------------------------------
要找一组数字中的最大数,我们可能会写一个循环,例如:
复制代码 代码如下:

var numbers = [3,342,23,22,124];
var max = 0;
for(var i=0;iif(numbers[i] > max){
max = numbers[i];
}
}
alert(max);

其实,不用循环可以实现同样的功能:
复制代码 代码如下:

var numbers = [3,342,23,22,124];
numbers.sort(function(a,b){return b - a});
alert(numbers[0]);

而最简洁的写法是:
复制代码 代码如下:

Math.max(12,123,3,2,433,4); // returns 433

你甚至可以使用Math.max来检测浏览器支持哪个属性:
复制代码 代码如下:

var scrollTop= Math.max(
doc.documentElement.scrollTop,
doc.body.scrollTop
);

如果你想给一个元素增加class样式,可能原始的写法是这样的:
复制代码 代码如下:

function addclass(elm,newclass){
var c = elm.className;
elm.className = (c === '') ? newclass : c+' '+newclass;

而更优雅的写法是:
复制代码 代码如下:

function addclass(elm,newclass){
var classes = elm.className.split(' ');
classes.push(newclass);
elm.className = classes.join(' ');
}

(4)事件委托
--------------------------------------------------------------------------------
事件是JavaScript非常重要的一部分。我们想给一个列表中的链接绑定点击事件,一般的做法是写一个循环,给每个链接对象绑定事件,HTML代码如下:
复制代码 代码如下:

脚本如下:
复制代码 代码如下:

// Classic event handling example
(function(){
var resources = document.getElementById('resources');
var links = resources.getElementsByTagName('a');
var all = links.length;
for(var i=0;i// Attach a listener to each link
links[i].addEventListener('click',handler,false);
};
function handler(e){
var x = e.target; // Get the link that was clicked
alert(x);
e.preventDefault();
};
})();

更合理的写法是只给列表的父对象绑定事件,代码如下
复制代码 代码如下:

(function(){
var resources = document.getElementById('resources');
resources.addEventListener('click',handler,false);
function handler(e){
var x = e.target; // get the link tha
if(x.nodeName.toLowerCase() === 'a'){
alert('Event delegation:' + x);
e.preventDefault();
}
};
})();

(5)匿名函数
--------------------------------------------------------------------------------
关于JavaScript的最头疼的事情之一是,它的变量没有特定的作用范围。 一般情况下,任何变量,函数,数组或对象都是全局性,这意味着在同一页上的其他脚本可以访问并覆盖它们。解决方法是把变量封装在一个匿名函数中。 例如,下面的定义将产生三个全局变量和和两个全局函数:
复制代码 代码如下:

var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}

封装后如下:
复制代码 代码如下:

var myApplication = function(){
var name = 'Chris';
var age = '34';
var status = 'single';
return{
createMember:function(){
// [...]
},
getMemberDetails:function(){
// [...]
}
}
}();
// myApplication.createMember() and
// myApplication.getMemberDetails() now works.

这被称为单体模式,是JavaScript设计模式的一种,这种模式在YUI中用得非常多,改进的写法是:
复制代码 代码如下:

var myApplication = function(){
var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}
return{
create:createMember,
get:getMemberDetails
}
}();
//myApplication.get() and myApplication.create() now work.

(6)代码可配置
--------------------------------------------------------------------------------
你写的代码如果想让别人更容易进行使用或者修改,则需要可配置,解决方案是在你写的脚本中增加一个配置对象。要点如下:
1、在你的脚本中新增一个叫configuration的对象。
2、在配置对象中存放所有其它人可能想要去改变的东西,例如CSS的ID、class名称、语言等等。
3、返回这个对象,作为公共属性以便其它人可以进行重写。
(7)代码兼容性
--------------------------------------------------------------------------------
兼容性是初学者容易忽略的部分,通常学习Javascript的时候都是在某个固定的浏览器中进行测试,而这个浏览器很有可能就是IE,这是非常致命的,因为目前几大主流浏览器中偏偏IE对标准的支持是最差的。最终用户看到的结果也许就是,你写的代码在某个浏览器无法正确运行。你应该把你的代码在主流的浏览器中都测试一下,这也许很费时间,但是应该这样做。
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Devenez un expert C : cinq compilateurs indispensables recommandés Devenez un expert C : cinq compilateurs indispensables recommandés Feb 19, 2024 pm 01:03 PM

Du débutant à l'expert : cinq recommandations essentielles du compilateur C Avec le développement de l'informatique, de plus en plus de personnes s'intéressent aux langages de programmation. En tant que langage de haut niveau largement utilisé dans la programmation au niveau système, le langage C a toujours été apprécié des programmeurs. Afin d’écrire du code efficace et stable, il est important de choisir un compilateur en langage C qui vous convient. Cet article présentera cinq compilateurs essentiels du langage C parmi lesquels choisir pour les débutants et les experts. GCCGCC, la collection de compilateurs GNU, est l'un des compilateurs de langage C les plus couramment utilisés.

C++ ou Python, lequel est le plus adapté aux débutants ? C++ ou Python, lequel est le plus adapté aux débutants ? Mar 25, 2024 am 10:54 AM

C++ ou Python, lequel est le plus adapté aux débutants ? À l’ère des technologies de l’information qui envahissent le monde, la capacité à programmer est devenue une compétence essentielle. Dans le processus d’apprentissage de la programmation, le choix d’un langage de programmation approprié est particulièrement important. Parmi les nombreux langages de programmation, C++ et Python sont deux choix populaires auprès des débutants. Alors, lequel est le plus adapté aux débutants, C++ ou Python ? Ce qui suit comparera les avantages et les inconvénients des deux sous divers aspects, et expliquera pourquoi le choix d'un certain langage est plus utile aux débutants pour se lancer dans la programmation.

Guide fiscal WooCommerce : un guide pour les débutants Guide fiscal WooCommerce : un guide pour les débutants Sep 04, 2023 am 08:25 AM

Maintenant que nous connaissons les produits WooCommerce et leurs paramètres associés, examinons les options de configuration fiscale de WooCommerce. Configuration fiscale En tant que propriétaire d'une boutique en ligne, vous ne voulez jamais vous soucier des règles et des problèmes fiscaux. WooCommerce vous aide en proposant plusieurs options pour gérer tous les paramètres fiscaux, qui peuvent varier en fonction de votre pays et des exigences de chaque magasin. Ces options peuvent être trouvées sur : WooCommerce->Paramètres->Taxes. Une fois que vous êtes entré dans l’onglet Paramètres fiscaux, vous verrez une section principale Paramètres fiscaux avec trois tranches d’imposition différentes. Ce sont : Options fiscales Taux standards Taux d’intérêt réduits Taux d’intérêt nuls Taxes

Les débutants en Python doivent apprendre : maîtriser l'utilisation de base des fonctions lambda Les débutants en Python doivent apprendre : maîtriser l'utilisation de base des fonctions lambda Feb 02, 2024 pm 06:41 PM

Indispensable pour les débutants : pour maîtriser l'utilisation de base des fonctions lambda en Python, des exemples de code spécifiques sont nécessaires. Présentation : Python est un langage de programmation simple et facile à apprendre. Il a attiré l'amour de nombreux programmeurs grâce à sa syntaxe concise et flexible. . En Python, une fonction lambda est une fonction anonyme spéciale qui peut être définie directement là où la fonction est requise sans lui donner de nom. Cet article présentera l'utilisation de base des fonctions lambda et fournira des exemples de code spécifiques pour aider les débutants à mieux comprendre

Guide du débutant Pandas : Conseils pour la lecture des données des tableaux HTML Guide du débutant Pandas : Conseils pour la lecture des données des tableaux HTML Jan 09, 2024 am 08:10 AM

Guide du débutant : Comment lire des données tabulaires HTML avec Pandas Introduction : Pandas est une puissante bibliothèque Python pour le traitement et l'analyse des données. Il fournit des structures de données flexibles et des outils d'analyse de données, rendant le traitement des données plus simple et plus efficace. Les pandas peuvent non seulement traiter des données au format CSV, Excel et autres formats, mais peuvent également lire directement les données des tableaux HTML. Cet article explique comment utiliser la bibliothèque Pandas pour lire les données des tableaux HTML et fournit des exemples de code spécifiques pour aider les débutants.

Les débutants en programmation devraient-ils d'abord apprendre le C ou le C++ ? Les débutants en programmation devraient-ils d'abord apprendre le C ou le C++ ? Mar 18, 2024 pm 03:15 PM

Titre : Les débutants en programmation doivent-ils donner la priorité à l’apprentissage du langage C ou du C++ ? Dans le domaine de la programmation, le langage C et le C++ sont deux langages de programmation très importants, chacun avec ses propres caractéristiques et avantages. Pour les débutants, choisir la langue à apprendre peut être un peu déroutant. Cet article abordera ce problème et donnera quelques exemples de code spécifiques pour aider les débutants à mieux comprendre les différences entre les deux langages. Jetons d’abord un coup d’œil au langage C. Le langage C est un langage de programmation puissant et largement utilisé. Il est développé à partir du langage assembleur.

A lire absolument pour les débutants : Comment choisir la bonne version de Django en fonction de ses besoins ? A lire absolument pour les débutants : Comment choisir la bonne version de Django en fonction de ses besoins ? Jan 19, 2024 am 08:20 AM

Pour les débutants, choisir la version appropriée de Django est une question importante et incontournable. En tant que framework Web efficace, Django compte un grand nombre d'utilisateurs et de développeurs, il dispose donc également de plusieurs versions pour répondre aux besoins des différents produits et applications. Mais comment choisir la bonne version de Django en fonction des besoins de votre projet ? Ci-dessous nous utiliserons quelques exemples pour vous aider à choisir la version qui vous convient. Confirmez que la base de données utilisée Django prend en charge plusieurs bases de données, notamment MySQL, Postgre

Un guide du débutant pour créer des nuages ​​de points avec matplotlib Un guide du débutant pour créer des nuages ​​de points avec matplotlib Jan 17, 2024 am 09:58 AM

matplotlib est l'une des bibliothèques de visualisation de données les plus couramment utilisées en Python. Il offre une variété d'options de traçage, notamment des graphiques linéaires, des graphiques à barres, des nuages ​​de points, etc. Cet article vous apprendra comment utiliser matplotlib pour dessiner des nuages ​​de points et fournira des exemples de code spécifiques pour aider les débutants à démarrer rapidement. 1. Importez le module matplotlib Avant de commencer à utiliser matplotlib pour dessiner des nuages ​​de points, vous devez d'abord importer les modules Python appropriés. Le code est le suivant : importpa

See all articles