# JS語法學習 **Javascript:客戶端的腳本語言** ## **1. JavaScript數據類型** ![](https://img2023.cnblogs.com/blog/3008601/202306/3008601-20230607170622855-1334758269.png ...
JS語法學習
Javascript:客戶端的腳本語言
1. JavaScript數據類型
2. 變數定義
var a = 10;
let b = 20;
JS是一門動態的弱類型語言,變數的數據類型由後面賦的值決定,當操作涉及不匹配的類型是否,它將允許隱式類型轉換,而不是拋出一個錯誤。
引用一下MDN的解釋:
JavaScript 是一種有著動態類型的動態語言。JavaScript 中的變數與任何特定值類型沒有任何關聯,並且任何變數都可以分配(重新分配)所有類型的值:
let foo = 42; // foo 現在是一個數值 foo = "bar"; // foo 現在是一個字元串 foo = true; // foo 現在是一個布爾值
JavaScript 也是一個弱類型語言,這意味著當操作涉及不匹配的類型是否,它將允許隱式類型轉換,而不是拋出一個錯誤。
const foo = 42; // foo is a number const result = foo + "1"; // JavaScript coerces foo to a string, so it can be concatenated with the other operand console.log(result); // 421
強制隱式轉換是非常方便的,但是如果開發者不打算轉換,或者打算向另一個方向轉換(例如,字元串轉數值而不是數值到字元串),則會存在潛在的隱患。對於 symbol 和 BigInt,JavaScript 總是不允許某些隱式類型轉換。
3. 函數
java方法定義:
public String hello(String name){
return "hello to" + name;
}
JS方法:若執行到return語句,就有返回值,沒有執行到就沒有返回值,到底有沒有返回值,不確定,傳入什麼類型不確定,傳入的參數的類型和數量無限制,隨便傳入。
function hello(num1, num2, name){
if(num1 > num2){
return "hello to" + name;
}else{
alert("HELLO");
}
}
hello();
hello(1);
hello(1,1,"abc");
hello(1,2,3,4,"abc");
4. 代碼演示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script language = 'javascript'>
//String str = "hello world"; //java語法
var str = "hello world";
alert(typeof str);//string
str = 9999
alert(typeof str);//number
//JS中的alert,作用是在瀏覽器中彈出一個警告框。
//typeof 運算符返回一個字元串,表示操作數的類型
var person = new Object();//當前使用new創建了一個對象
person.pid = "p001";//但是對象有什麼屬性不知道,你寫了什麼屬性就有什麼屬性
person.name = "大黃";
alert(person.pid + "_" + person.name);//p001_大黃
/*java方法定義
public String hello(String name){
return "hello to" + name;
}
*/
//js方法,若執行到return語句,就有返回值,沒有執行到就沒有返回值,到底有沒有返回值,不確定
//傳入什麼類型不確定,傳入的參數的類型和數量無限制,隨便傳入
function hello(num1, num2, name){
if(num1 > num2){
return "hello to" + name;
}else{
alert("HELLO");
}
}
</script>
</head>
<body>
</body>
</html>
<!--
Javascript:客戶端的腳本語言
JS是一門弱類型語言,變數的數據類型由後面賦的值決定
-->