目錄
1.??輸入輸出語句
1.1? prompt()(對話框) :
1.2??alert() (彈出框)
1.3??console.log()(控制臺輸出)
1.4??document.write() (網(wǎng)頁輸出)
2.? 變量與常量
3.? 原始數(shù)據(jù)類型
4.??typeof()方法
5.? 運算符
5.1? 算數(shù)運算符
5.2? 比較運算符
5.3??邏輯運算符
6.? 流程控制語句(if、swich語句)
6.1? if語句
6.2? switch語句
7.? 循環(huán)語句
7.1? for循環(huán)語句
7.2? while循環(huán)
8.? 數(shù)組(重點記憶)
9.? 函數(shù)(重點記憶)?
1.??輸入輸出語句
1.1? prompt()(對話框) :
JavaScript中的prompt()函數(shù)用于向用戶顯示一個對話框,提示用戶輸入一些信息。該函數(shù)有一個參數(shù),表示要顯示給用戶的提示信息。
var name = prompt("請輸入您的姓名:");
????????上述代碼中,使用prompt()函數(shù)顯示一個對話框,提示用戶輸入姓名,并將用戶輸入的值賦值給變量name。用戶輸入的內(nèi)容以字符串的形式返回,如果用戶點擊了"取消"按鈕,則會返回null。
1.2??alert() (彈出框)
可以使用alert()函數(shù)向用戶顯示一個窗口,彈出框通常用來顯示提示信息。
alert("Hello world!");
1.3??console.log()(控制臺輸出)
控制臺輸出是開發(fā)者常用的一種輸出方式,可以在瀏覽器的開發(fā)者工具中查看輸出結(jié)果。
console.log("Hello world!");
1.4??document.write() (網(wǎng)頁輸出)
可以在網(wǎng)頁中輸出信息。
document.write("Hello world!");
2.? 變量與常量
JavaScript 屬于弱類型的語言,定義變量時不區(qū)分具體的數(shù)據(jù)類型。
-
定義局部變量: var 變量名 = 值;
//1.定義局部變量
var name = "張三";
var age = 23;
document.write(name + "," + age +"<br>");
- 定義全局變量: 變量名 = 值;
//2.定義全局變量
{
var l1 = "aa";
l2 = "bb";
}
//document.write(l1);
document.write(l2 + "<br>");
- 定義常量 const: 常量名 = 值;
//3.定義常量
const PI = 3.1415926;
//PI = 3.15;
document.write(PI);
3.? 原始數(shù)據(jù)類型
?小拓展:
在JavaScript中,undefined是一種特殊的值,用于表示變量未定義或未賦值。如果一個變量沒有被顯式賦值,那么它的值就是undefined。例如:
var x; console.log(x); // 輸出undefined
在上述代碼中,變量x沒有賦值,因此它的值是undefined。
另外,可以使用typeof操作符來檢查一個變量的數(shù)據(jù)類型,例如:
var x; console.log(typeof x); // 輸出"undefined"
最后,需要注意的是,在使用變量之前,應(yīng)該先對它進行判斷,避免出現(xiàn)未定義的情況,例如:
if (typeof x !== "undefined") { // 變量已定義,可以使用 console.log(x); } else { // 變量未定義,無法使用 console.log("Variable is undefined"); }
4.??typeof()方法
在JavaScript中,typeof是一個操作符,用于判斷一個值的數(shù)據(jù)類型。它可以用于任何值,包括變量、函數(shù)、字符串、數(shù)值、布爾值、對象和undefined等。
<script>
var age = 18;
document.write( typeof(age) );//number
document.write("<br/>")
var name = "金剛芭比";
document.write( typeof(name) );//string
document.write("<br/>")
var isMan = true;
document.write( typeof(isMan) );//boolean
document.write("<br/>")
var a = null;
document.write( typeof(a) );//object ,null的類型解析出來是object,這時js遺留的遠(yuǎn)古BUG
document.write("<br/>")
var b;
document.write( typeof(b) );//undefined
document.write("<br/>")
var fun = function(a,b) {
alert(a+b);
}
document.write( typeof(fun));//function
document.write("<br/>")
var arr = [1,2,3];
document.write( typeof(arr));//object
</script>
5.? 運算符
5.1? 算數(shù)運算符
算術(shù)運算符的特殊使用:
- 在JS中,如果算數(shù)運算符運算的不是number類型,JS會自動將元素往number進行轉(zhuǎn)換。
- boolean: true:1 ?false:0。
- string: 能轉(zhuǎn)為數(shù)字的直接轉(zhuǎn)成數(shù)字,不能轉(zhuǎn)的就是NaN(不是數(shù)字的數(shù)字)。
<script>
// 算術(shù)運算符的特殊使用
//在JS中,如果算數(shù)運算符運算的不是number類型,JS會自動將元素往number進行轉(zhuǎn)換
//boolean: true:1 false:0
//string: 能轉(zhuǎn)為數(shù)字的直接轉(zhuǎn)成數(shù)字,不能轉(zhuǎn)的就是NaN(不是數(shù)字的數(shù)字)
var s = +true;
document.write(s+ ":" + typeof(s) );//1:number
document.write("<br/>")
var name = +"叫你一聲,你敢答應(yīng)嗎?";
document.write(name+ ":" + typeof(name) );//NaN:string
document.write("<br/>")
var age = +"123";
document.write(age+ ":" + typeof(age) );//123:number
</script>
?小拓展:
????????"NaN"(Not a Number)表示不是數(shù)字(Not a Number),通常在JavaScript中表示數(shù)字類型的操作失敗時會返回NaN。NaN是一個特殊的數(shù)字值,它不等于任何其他值,包括自身。因此,在JavaScript中,不能使用等于運算符(==)或全等運算符(===)來比較NaN和其他值,這兩個運算符都會返回false。
????????例如,如果嘗試將非數(shù)字字符串轉(zhuǎn)換成數(shù)字,將返回NaN:
var x = parseInt("hello"); console.log(x); // NaN
????????在上述代碼中,將字符串"hello"嘗試轉(zhuǎn)換成數(shù)字,由于該字符串不是數(shù)字,所以會返回NaN。
????????由于NaN不等于任何值,因此在某些情況下需要檢查一個值是否為NaN。可以使用全局的isNaN()函數(shù)來檢查一個值是否為NaN,例如:
var x = parseInt("hello"); if (isNaN(x)) { console.log("Not a number"); } else { console.log("Valid number"); }
????????在上述代碼中,通過調(diào)用isNaN()函數(shù)來檢查變量x是否為NaN,如果是則輸出"Not a number",否則輸出"Valid number"。
5.2? 比較運算符
????????在JavaScript中,"=="和"==="都是用來比較兩個值是否相等的運算符,但它們的比較方式有所不同。
????????"=="運算符會先進行類型轉(zhuǎn)換,然后再比較兩個值是否相等。如果兩個值的數(shù)據(jù)類型不同,JavaScript會自動將它們轉(zhuǎn)換成相同的數(shù)據(jù)類型,然后再進行比較。
????????例如,以下代碼中的"123"會被自動轉(zhuǎn)換成數(shù)字123,然后再與數(shù)字1進行比較:
console.log(123 == "123"); // true
????????"==="運算符會直接比較兩個值的數(shù)據(jù)類型和值是否都相等。如果兩個值的數(shù)據(jù)類型不同,或者值不相等,就會返回false,例如:
console.log(123 === "123"); // false
????????注:由于"=="運算符會進行類型轉(zhuǎn)換,因此可能會產(chǎn)生一些意想不到的結(jié)果。建議在比較兩個值時,優(yōu)先使用"==="運算符,以避免出現(xiàn)錯誤的結(jié)果。
5.3??邏輯運算符
????????邏輯運算符運算的應(yīng)該是boolean類型,不過不是boolean, 那就將其向boolean轉(zhuǎn)化,轉(zhuǎn)化規(guī)則如下:
- number: 0/NaN->false,? 其他的全是true
- string: ""(即空字符串)->false,? 其他的全是true
- null/undefined -> false
<script>
/*
邏輯運算符運算的應(yīng)該是boolean類型
不過不是boolean, 那就將其向boolean轉(zhuǎn)化
number: 0/NaN->false 其他的全是true
string: ""->false 其他的全是true
null/undefined -> false
*/
var num = 100;
document.write(!num) //true => num=true
document.write("<br/>")
var num = 0;
document.write(!num) //false => num=false
document.write("<br/>")
var num = NaN;
document.write(!num) //false => num=false
document.write("<br/>")
var name = "aaa";
document.write(!name) //true => name=true
document.write("<br/>")
var name = "";
document.write(!name) //false => name=false
document.write("<br/>")
var a = null;
document.write(!a) //false => a=false
document.write("<br/>")
var b = undefined;
document.write(!b) //false => b=false
</script>
6.? 流程控制語句(if、swich語句)
6.1? if語句
//if語句
var month = 3;
if(month >= 3 && month <= 5) {
document.write("春季");
}else if(month >= 6 && month <= 8) {
document.write("夏季");
}else if(month >= 9 && month <= 11) {
document.write("秋季");
}else if(month == 12 || month == 1 || month == 2) {
document.write("冬季");
}else {
document.write("月份有誤");
}
document.write("<br>");
6.2? switch語句
//switch語句
switch(month){
case 3:
case 4:
case 5:
document.write("春季");
break;
case 6:
case 7:
case 8:
document.write("夏季");
break;
case 9:
case 10:
case 11:
document.write("秋季");
break;
case 12:
case 1:
case 2:
document.write("冬季");
break;
default:
document.write("月份有誤");
break;
}
document.write("<br>");**for 循環(huán)**
7.? 循環(huán)語句
7.1? for循環(huán)語句
//for循環(huán)
for(var i = 1; i <= 5; i++) {
document.write(i + "<br>");
}
7.2? while循環(huán)
//while循環(huán)
var n = 6;
while(n <= 10) {
document.write(n + "<br>");
n++;
}
8.? 數(shù)組(重點記憶)
數(shù)組的使用和 java 中的數(shù)組基本一致,但是在 JavaScript 中的數(shù)組更加靈活,數(shù)據(jù)類型和長度都沒有限制。
定義格式
var 數(shù)組名 = [元素1,元素2,…];
索引范圍
從 0 開始,最大到數(shù)組長度-1
數(shù)組長度
數(shù)組名.length
示例演示:
<script>
//數(shù)據(jù)類型沒有限制
var arr = [1,2,3,"hello",true];
document.write(arr)
document.write("<br/>")
document.write("數(shù)組的長度:"+arr.length)
document.write("<br/>")
//數(shù)據(jù)長度都沒有限制
//長度可變, 索引5~9都沒有元素
arr[10] = "world";
document.write(arr);
</script>
結(jié)果展示:
9.? 函數(shù)(重點記憶)?
????????JavaScript中的函數(shù)是一種可重復(fù)使用的代碼塊,它接收參數(shù),執(zhí)行特定的任務(wù),并返回結(jié)果。函數(shù)可以在不同的位置、多次調(diào)用,從而實現(xiàn)代碼的復(fù)用和模塊化。
????????使用function關(guān)鍵字定義函數(shù),函數(shù)名可以自定義,參數(shù)列表使用小括號括起來,多個參數(shù)之間用逗號分隔,函數(shù)體使用大括號括起來,例如:
function add(a, b) { return a + b; }
在上述代碼中,定義了一個名為add的函數(shù),它有兩個參數(shù)a和b,函數(shù)體中執(zhí)行了a+b并返回結(jié)果。
????????函數(shù)可以通過函數(shù)名加小括號的方式來調(diào)用,例如:
var add = function(a,b){ return a+b; } var result = add(1, 2); console.log(result); // 輸出3
????????在上述代碼中,調(diào)用了add函數(shù),并將1和2作為參數(shù)傳遞給函數(shù),執(zhí)行結(jié)果被保存在result變量中,最后通過console.log()函數(shù)輸出結(jié)果。
????????函數(shù)也可以不返回值,或者返回undefined。例如:
function showMessage(message) { console.log(message); } showMessage("Hello java world!"); // 輸出"Hello, world!"
????????在上述代碼中,定義了一個名為showMessage的函數(shù),它有一個參數(shù)message,函數(shù)體中執(zhí)行了console.log()函數(shù),輸出message的值。
????????函數(shù)還可以嵌套定義,定義在內(nèi)部的函數(shù)稱為內(nèi)部函數(shù)。內(nèi)部函數(shù)可以訪問外部函數(shù)的變量和參數(shù),例如:
function outerFunction(x) { function innerFunction(y) { return x + y; } return innerFunction(2); } var result = outerFunction(1); console.log(result); // 輸出3
????????在上述代碼中,定義了一個名為outerFunction的函數(shù),它有一個參數(shù)x,內(nèi)部定義了一個名為innerFunction的函數(shù),它有一個參數(shù)y,內(nèi)部函數(shù)返回x+y的值。在外部函數(shù)中調(diào)用內(nèi)部函數(shù)并傳遞參數(shù)2,最終返回3。
?繼續(xù)學(xué)習(xí)之路:
JavaScript (一) -- 快速入門(js技術(shù)的兩種 引入方式 )
JavaScript (三) -- 內(nèi)置對象文章來源:http://www.zghlxwxcb.cn/news/detail-430423.html
?如果對你有幫助,請幫我點一下贊,我才有動力繼續(xù)創(chuàng)作,謝謝!文章來源地址http://www.zghlxwxcb.cn/news/detail-430423.html
到了這里,關(guān)于JavaScript (二) -- 基礎(chǔ)語法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!