㈠ javascript什麼是返回值
返回值 就是通過程序計算之後的到結果,也是函數實現返回最終的結果
函數(方法)一般分為有返回值和無返回值,無返回值實現功能最終不返回結果,有返回值的,最終返回該函數的計算結果。
(1)js返回哪些數據類型擴展閱讀
js裡面的返回值有三種意思:
第一種情況,也是用得最多的情況,返回值是用於獲取函數執行完畢後,獲取到我們需要得到的結果;
第二種情況,就是返回空值,用來中止程序的;
第三種情況,用於防止事件冒泡,這種情況多在IE下生效。
返回值就是子函數返回給調用它的上一級函數的一個數值,就是return語句後的值。
比如一個子函數int func()在主函數調用,a=func();
在func()中有一個return b;
則func()返回的值就是這時候變數b的值,並且賦值給主函數中的變數a。
c語言中,有許多情況下需要重復某些語句的計算,就可以把這些語句單獨提出來形成子程序,遇到重復的地方調用就可以了;但是有些情況下需要得到子程序運行的一個結果時,就可以通過將子程序設計成帶返回值的函數,比如標準的sin函數,它的返回值就是一個double型數據。
在c語言的編程中大部分的函數調用信息是靠返回值來獲得的,而這就需要用很多的定義,比如返回-1表示什麼意思,-2表示什麼意思,-3表示什麼意思等等。
而c++中加入了異常的處理,這也算是一種獲取信息的方式,但畢竟不是那麼友好,大多數情況下,如果返回錯誤,我們對返回值不是很感興趣,而是對返回的信息描述感興趣。只要能簡單描述錯誤的信息就可以了。
如此我們可以用這樣一種方式來處理。返回值如果是類類型的如果正確就返回正確值,如果錯誤就返回null,而在參數中加一個ref string的參數,用來返回錯誤的描述信息。
如果返回值正確,這個參數就為null。這樣一來我們就不用再定義一大堆的返回值信息(而且這此返回值信息還不通用,只能在一個函數中使用)了。而且我們可能只定義一些字元串常量,用來描述各種錯誤信息即可。
參考資料來源 :網路-返回值
㈡ 怎樣使用JavaScript中的數據類型
Javascript最常用的有五種數據類型,介紹一些這五種數據類型的具體應用:
1. Undefined
未定義。只有一個值
2.Null
只有一個值,null
3. Boolean
在javascript中,只要邏輯表達式不返回undefined不返回null,就都是真的。
參考代碼:
if(3)true
if(null)false
if(undefined)false
4.Number
5.String
javascript中不存在char類型。
字元串定義可以用單引號,也可以用雙引號。
<html>
<head>
<scripttype="text/javascript">
//vars="hello";
//alert(typeofs);//s是字元串類型
vars=newString("hello");//s是對象類型
alert(typeofs);
</script>
</head>
<body>
</body>
</html>
typeof 是一個一元運算符,用來獲得變數的數據類型
其返回值有五個 undefined,boolean,number,string以及object.
其中前面四個都好理解。而最後一個object是讓程序員無從判斷的,只籠統的返回了object
在javascript中,如果函數沒有聲明返回值,那麼會默認返回undefined。
如果聲明了返回值,那麼實際返回什麼就是什麼。
undefined從null派生,所以比較時返回true
alert(undefined==null);//true
強制類型轉換
在javascript中,有三種強制類型轉換:
Boolean(value)
Number(value)
String(value)
參考代碼:
<html>
<head>
<scripttype="text/javascript">
varnum=Number(3);
alert(num);
vars="hello";
alert(Boolean(s));
vars1=String("hello");
alert(typeofs1);
varobj=newString("hello");//這不是強制類型轉換!
alert(typeofobj);
</script>
</head>
<body>
</body>
</html>
在javascript中,所有的對象都繼承自Object對象。
用new 的方式生成。
js中有些方法是可以枚舉出來的,有些是不行的。
用js內置方法可以判斷,是否可以枚舉出來。
參考代碼
<html>
<head>
<scripttype="text/javascript">
varobject=newObject();
for(varvinobject){
console.log(v);
}
alert(object.propertyIsEnumerable("prototype"));//返回了false,表示沒有可以枚舉的屬性,也意味著子對象相應的屬性也是不可以枚舉的
</script>
</head>
<body>
</body>
</html>
枚舉自定義類型的屬性
參考看代碼:
<html>
<head>
<scripttype="text/javascript">
varmember=function(name,age){
this.name=name;
this.age=age;
}
varm=newmember("liudh",50);
for(varvinm){
console.log(v);
//name
//age
}
alert(m.propertyIsEnumerable("prototype"));//false
//for(varvinwindow){
//console.log(v);
//}
</script>
</head>
<body>
</body>
</html>
㈢ 判斷JS中變數是 string 類型的幾種方法
利用 typeof 進行字元串類型判斷的語法為 typeof operand,其返回值為字元串類型。因此,我們可以直接使用 typeof a === 'string' 進行判斷。
值得注意的是,typeof 還有其他特殊情況,但主要用途在於字元串類型判斷。
另一種方法是使用 instanceof。其語法規則為 object instanceof constructor,返回值為布爾類型。其工作原理是查看構造器的 prototype 屬性是否存在於對象的原型鏈上。因此,instanceof 主要用於判斷對象類型。例如,使用 new String("I am string") 構造字元串時,同樣可以使用 instanceof 進行判斷。
另一種方法是利用 Object.prototype.toString.call() 方法。默認返回值為 "[object type]",其中的 type 即數據類型。使用此方法時必須使用 call。詳情可查閱 MDN 文檔。
最後,我們可以通過藉助庫來簡化判斷過程。例如,可以使用 lodash 的 isString 方法進行判斷。
以上即為我所能想到的全部方法。