介紹這三個之間的差別之前, 先來看一下JS 的數據類型。
在 Java ,C這樣的語言中, 使用一個變量之前,需要先定義這個變量并指定它的數據類型,是整型,字符串型,....
但是在js 中定義變量統一使用 var , 或者不使用var 也可以使用。
那么js 中是否有數據類型的概念呢? 當然有, 使用 typeof 就可以判斷這個變量的數據類型:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">
<script>
s = "This is Test";
alert(typeof(s));
</script>
</HEAD>
<BODY>
</BODY><br></HTML>
以上例子彈出的值是 "string", 由此可以看出, js 也是有數據類型的。
js中的數據類型有undefined,boolean,number,string,object等5種,前4種為原始類型,第5種為引用類型。
原始類型和引用類型有什么區別?引用的概念其他語言的引用很類似, 就是一個地址。看一下這個例子就知道了。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">
<script>
var obj = new Object();
var objCopy = obj;
obj.att1 = "obj attribute";
alert(objCopy.att1);
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
別忽略了object 類型的這種特性哦, 這個是會被經常誤用的地方。類似上面的obj的改變引起了objCopy的改變。
除了以上5 中類型之外, 還有一種 “function”的類型。
<!--Add by oscar999-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">
<script>
function test()
{
alert("hello");
}
alert(typeof(test));
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
undefined 和 null, NaN 的區別
有了上面的介紹,就可以很容易把undefined 和其他的兩個區分開來。
undefined判斷的是變量的類型,而其他兩個判斷是變量的值。
undefined可以用來表示以下的狀況
1. 表示一個未聲明的變量,
2. 已聲明但沒有賦值的變量,
3. 一個并不存在的對象屬性
null 是一種特殊的object ,表示無值;
NaN是一種特殊的number ,表示無值;
比較符(== 或 ===)
使用 == ,如果兩邊的類型不同, js 引擎會先把它們轉成相同的類型在進行值的比較;
使用 ===, 則不會進行類型轉換,類型不同,肯定不相等。
實例
有了以上的知識,再來看下面一些有意思卻容易混淆的例子應該就很清晰了:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">
<script>
var s;
alert(s==undefined); //true
alert(s===undefined); //true
alert(s==null); //true
alert(s===null); //false
alert(null==undefined); //true
alert(null===undefined); //false
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
把var s 改成 var s = null 再看看效果~~
一般情況下, 對js 某個變量s 判空習慣使用 if(s!=null) , 如果s 沒有定義的話,就會報undefined的js 錯誤, 所以完整的判空可以使用如下方式:
if(typeof(s)!="undefined"&&s!=null)
<ci-notifications.company.org>
Build Notifications <ci-notifications.company.org>
Build Notifications” <ci-notifications.company.org>
email-ext插件允許使用變量來動態插入數據到郵件的主題和內容主體中。變量是一個以$(美元符號)開始,并以空格結束的字符串。當一個郵件觸發時,主題和內容主體字段的所有變量都會通過真實的值動態地替換。同樣,變量中的“值”能包含其它的變量,都將被替換成真實的內容。
比如,項目配置頁的默認主題和內容分別對應的是全局配置頁面的DEFAULT_SUBJECT和DEFAULT_CONTENT,因此它會自動地使用全局的配置。同理,觸發器中的Subject和Content分別對應的是項目配置頁面的DEFAULT_SUBJECT和DEFAULT_CONTENT,所以它也會自動地使用項目的配置。由于變量中的“值”能包含其它的變量,所以就能為變量快速地創建不同的切入點:全局級別(所有項目),專屬級別(單一項目),觸發器級別(構建結果)。
如果你要查看所有可用的變量,你可以點擊配置頁的Content Token Reference的問號獲取詳細的信息。
所有的變量都是可選的,每個變量可以如下表示,字符串類型使用name=“value”,而布爾型和數字型使用name=value。如果{和}標記里面沒有變量,則不會被解析。示例:$TOKEN,${TOKEN},${TOKEN,count=100},${ENV,var=”PATH”}
提示:用英文逗號分隔變量的參數。
常用的屬性
加事件之前驗證表單的文本框是否非空,并且只有在驗證通過時才調用添加函數,你可以采用前端JavaScript進行簡單的表單驗證。
<form id="dataForm" onsubmit="return validateForm()">
<div>
<label >標題:</label>
<input type="text" id="titleInput" name="title" required>
</div>
<div>
<label >內容:</label>
<input type="text" id="content" name="content" required>
</div>
<button type="button" onclick="add()">添加數據</button>
</form>
form標簽中添加onsubmit="return validateForm()"
function validateForm() {
var username = document.getElementById("titleInput").value;
var email = document.getElementById("content").value; // 假設還有一個email文本框
// 檢查是否都不為空
if (username.trim() === "" || email.trim() === "") {
alert("不能為空,請填寫后再提交。");
return false; // 阻止表單提交或事件繼續
}
return true; // 如果驗證通過,則允許執行后續操作
}
驗證文本框非空的JS代碼:如果驗證失敗(即輸入框為空),validateForm函數會返回false,阻止表單提交;如果驗證通過,則返回true,允許表單提交。
function createEditor() {
// 以下為添加數據的JS代碼
}
添加數據的JS代碼
function add() {
if(validateForm()){
createEditor();
}
}
validateForm函數返回True時,提交數據添加。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。