(OTHER)JavaScript初心者の10個のミニテクニック

6773 ワード

1つの配列の最後に要素を追加します.
この技法は、Length属性を用いて、配列の最後に要素を追加することができます.Length属性は、配列の最後の要素の下付きより1多いです.この方法は「プッシュ」方法と同じです.たとえば:
var myArray = [];  
myArray[myArray.length] = 'New Element';  
2つの配列の長さを調整します.
Length属性は読み取り専用ではないので、Length属性の値を設定できます.また、配列の長さを大きくしたり縮小したりするのに使うことができます.たとえば:
var myArray = [1,2,3];  
myArray.length // 3  
myArray.length = 2; //Delete the last element  
myArray.length = 20 // add 18 elements to the array; the elements have the undefined value. 
3,「!!」を使って任意のデータタイプをBooleanに変換します.
この技術は、「!!」を使って、任意のデータタイプ(例えば、string、numberまたはinteger)をBooleanに変換することができます.たとえば:
var myString = '23255';  
typeof myString; //String     
myString = !!myString;  
typeof myString  //Boolean 
 

4,把Number转换成String

这个技巧可以让你在number的结尾添加一个空的string来把number转换成string,例如:

var mynumber = 234;  
typeof mynumber; //Number     
mynumber += '';  
typeof mynumber; //String 
 

5,了解一个函数需要多少个变量

这是一个伟大的技巧,可以让你准确地知道一个函数需要多少个变量。例如:

function add_nums(num1, num2){       
    return num1 + num2;  
}  
add_nums.length // 2 is the amount of parameters expected by the function add_nums 
 

6,使用“arguments”对象来了解一个函数接收到了多少个参数

这个技术可以让你使用“arguments”对象来了解一个函数接收到了多少个参数。例如:

function add_nums(){      
    return arguments.length;  
}     
add_nums(23,11,32,56,89,89,89,44,6); //this return the number 9 
 

当你需要检查参数个数的有效性的时候,或者当你需要创建一个不确定参数个数的函数的时候,这个技巧是很有用的。

function sum_three_nums( ){   
    if(arguments.length!=3) 
        throw new Error('received ' + arguments.length + ' parameters and should work with 3');     
}     
sum_three_nums(23,43); //Return the error message     
function sum_num(){      
    var total = 0;      
    for(var i=0;i<arguments .length;i++){          
    total+=arguments[i];      
    }      
    return total;  
}     
sum_num(2,34,45,56,56); 
7,オブジェクトをパラメータとして、 を し、 します.
なWeb では、オブジェクトの も な は、それらを とするパラメータである. のパラメータを えるこの はいつも しいです.しかし、 つのオブジェクトを うのはとてもいいです.パラメータのルールを する はないからです.また、 もありますので、 たちが をするべきかをユーザーによりよく させることができます.この は をパラメータとして い、 を し することができます.たとえば:
function insertData(name,lastName,phone,address){      
    code here;  
} 
 

 
function insertData(parameters){        
    var name = parameters.name;      
    var lastName = parameters.lastName;      
    var phone = parameters.phone;      
    var address = parameters.address;  
} 
デフォルトの を うときにも ちます.たとえば:
function insertData(parameters){        
    var name = parameters.name;      
    var lastName = parameters.lastName;      
    var phone = parameters.phone;      
    var address = parameters.address;      
    var status = parameters.status || 'single' //If status is not defined as a property 
//in the object the variable status take single as value  } 
 

, ; :

 
 
 
//Example 1  
insertData({
    name:’Mike’, 
    lastName:’Rogers’, 
    phone:’555-555-5555’,
    address:’the address’, 
    status:’married’
});        
//Example 2  
var myData = {       
    name:’Mike’,                            
    lastName:’Rogers’,                                  
    phone:’555-555-5555’,                               
    address:’the address’,                                   
    status:’married’                         
};     
insertData(myData); 
8, はデータです.
は、stingsやnumbersのようなデータです.それらを パラメータとして えることができます.これは に くべき、「 」なWebアプリケーションを することができます.この は に であり,ほとんどの フレームはこの を いている.たとえば:
function byId(element, event, f){      
    Document.getElementById(element).['on'+event] = f; //f is the function that we pass as parameter  
}     
byId('myBtn','click',function(){
    alert('Hello World')
});     
Another example of functions as data:     
//Example 1  
function msg(m){      
    Alert(m);  
}     
//Example 2  
var msg = function(m){ alert(m);} 
これらの はほぼ じです. の いはそれらを う です. えば、 の は、あなたがそれを する に できます.しかし、2 の は の だけ できます.
//Example 1  
msg('Hello world'); //This will work     
function msg(m){      alert(m);  }     
//Example 2  
msg('Hello world'); //Does not work because JavaScript cannot find the function msg because is used before is been declared.     
var msg = function(m){ alert(m)} 
 

9,

JavaScript , 。 JavaScript API 。

//We create the method prototype for our arrays  
//It only sums numeric elements     
Array.prototype.sum = function(){       
    var len = this.length;      
    total = 0;      
    for(var i=0;i<len ;i++){          
        if(typeof this[i]!= 'number') continue;           
        total += this[i];      
    }      
    return total;  
}     
var myArray = [1,2,3,'hola'];  
myArray.sum();              
Array.prototype.max = function(){       
    return Math.max.apply('',this);  
}    
 

10,Boolean

, 。

'' == '0'          // false  
0 == ''            // true  
0 == '0'           // true  
false == 'false'   // false  
false == '0'       // true  
false == undefined // false  
false == null      // false  
null == undefined  // true  
true == 1          // true  
'' == null         // false  
false == ''        // true 
これらのスクリプトを のところで たら、これらのテクニックがあなたを けます.これらのテクニックはJavaScriptのすべての の の にも ばないですが、これは まりです.ご なく、コメント、 、 のテクニックや を してください.でも、これは けの です. えてください.いくつかの から の をもらいたいです.Enjoy