JAVA (11) date
阿新 • • 發佈:2020-12-12
JavaScript基礎知識
文章目錄
javas可以通過函式來操作HTML和CSS,這其中會用到JavaScript物件,Browser 物件和DOM物件。
JavaScript中的資料會共享。
資料型別
JavaScript是弱型別語言,只需要var來定義即可,資料型別靠賦值後來定義。
//1.定義數字型別
var num =10;
var num1 = 10.1 ;
console.log(num + num1);
//2.定義字串
var str = "hello sc";
console.log(str);
//3.布林型別(非0即為真:true !0 !null)
var bool = true;
if(bool) {
console.log("真");
}else {
console.log("假");
}
//4.特殊型別
var n ;//變數定義了但沒有賦值,而直接使用,就會輸出undefine
console.log(n);
console.log(n+1);//輸出NAN,not a number
console.log(10/0);//輸出Infinity,無窮大
物件、屬性和方法的建立
JavaScript建立物件的方式有很多,一種為new來建立物件,還有的方法是通過JSON格式來定義物件,常用的是通過JSON格式定義物件,簡潔明瞭。
屬性只需要通過引用符號 . 建立即可;JavaScript沒有方法,方法是通過匿名函式模擬的。
通過new建立物件
//1.建立物件
var user = new Object();
//2.給屬性賦值
user.id = 1001;
user.name = "tom";
user.age = 12;
user.email = "[email protected]";
//3.使用匿名函式模擬物件的方法
user.setName = function(name) {
this.name = name;
}
user.getName = function() {
return this.name;
}
user.out = function() {
console.log(this.id,this.name,this.age,this.email);
}
//4.呼叫屬性和方法
console.log(user.id,user.name,user.age,user.email);
user.setName("Mark");
var name = user.getName();
console.log(name);
user.out();
使用JSON格式定義物件
var user = {
"id":1001,
"name":"tom",
"age":20,
"email":"[email protected]",
"getName":function() {
return this.name;
},
"out":function() {
console.log(user.id,user.name,user.age,user.email);
}
}
user.out();
JSON物件和JS物件的轉化
java後臺到js前臺是通過JSON來進行資料交換的,需要JSON物件與JS物件之間進行轉化。
<!-- json字串與js物件之間的轉換(json格式) -->
<script type="text/javascript">
//1.定義json格式的字串 物件的方式 json格式字串 java後臺系統 -----> js前臺 資料互動 字串(json)
var user = '{"id":"1001","name":"tom","age":23,"email":"[email protected]"}';
//2.將json格式的字串轉換為js物件
var userObj = JSON.parse(user);
//3.遍歷物件
for(var pro in userObj) {
console.log(userObj[pro]);
}
//document.write(userObj.id,userObj.name,userObj.age,userObj.email);
document.write("<br/>");
//4.將JSON格式js物件轉換成字串
var str = JSON.stringify(userObj);
document.write(str);
</script>
<!-- json字串與js陣列之間的轉換(json格式) -->
<script type="text/javascript">
//1.定義json格式的字串 陣列型別
var users = '['+
'{"id":"1001","name":"tom","age":23,"email":"[email protected]"},' +
'{"id":"1001","name":"tom","age":23,"email":"[email protected]"},' +
'{"id":"1001","name":"tom","age":23,"email":"[email protected]"}]';
console.log(users);
//2.將其轉換為js陣列
var ar = JSON.parse(users);
//3.遍歷陣列
for(var index in ar) {
console.log(ar[index]);
}
//4.將js陣列轉換為JSON字串
var str = JSON.stringify(ar);
console.log(str);
</script>
JavaScript對字串操作API
<script type="text/javascript">
//1.字串的建立
var str = "Hello World";
console.log(str);
var str1 = "NMML";
//2.API
//a.將字串物件的內容輸出
console.log(str.toString());
console.log(str.valueOf());
//b.字串的連線
console.log(str + str1);
console.log(str.concat(str1));
//c.擷取字串 substr(1,2) 1為起始位置,2為擷取字串長度
var subStr = str.substr(1,3);
console.log(subStr);
//擷取字串 substring(2,5) 2為起始位置,5-1為結束位置
var subStr1 = str.substring(2,5);
console.log(subStr1);
//d.獲取字串的位置
var index = str.indexOf("lo");
console.log(index);
index = str.lastIndexOf("or");
console.log(index);
//e.獲取字元
var c = str.charAt(1);
console.log(c);
//f.字串切割
var st = "123-#ac-dsad-#13da-dsa";
var rs = st.split("-");
console.log(rs);
//g.獲取ASII碼
console.log(String.fromCharCode(65));
//h.字串遍歷
for(var i=0; i<st.length; ++i) {
var c = st.charAt(i);
console.log(c);
}
</script>
建立函式與回撥函式
JavaScript做出某些動畫和事件都是通過函式來完成,而回調函式就是函式內部能夠動態的呼叫某個函式。
本方法為最常用的建立函式的方法
function add(a,b) {
return a+b;
}
//呼叫函式
rs = add(10,5);
console.log(rs);
回撥函式
<script type="text/javascript">
function fun(a,b,callbake) {
callbake(a);
callbake(b);
}
//輸出的方法
function out(msg) {
console.log("out方法的輸出:"+msg);
}
//呼叫
fun(10,20,out);
</script>