javascript
WEBBASE篇: 第八篇, JavaScript知识2
JavaScript 2
?一,數(shù)據(jù)類型:
作用: 約束了數(shù)據(jù)在內存中所占空間大小問題的;
JS數(shù)據(jù)類型分類:
基本數(shù)據(jù)類型(值類型)
(1) number 類型; 數(shù)字類型,可以表示32位的整數(shù)或64位的浮點數(shù);
整數(shù):
表示十進制,八進制,十六進制
十進制:var num = 111;var num = 321;
八進制:var num = 010;
十六進制:var num = 0x22;
小數(shù):
小數(shù)點計數(shù)法:var num = 123.456;
科學計數(shù)法:var num = 1.5e2;
(2)string 類型; 字符串,都是由Unicode的字符,數(shù)字,標點組成的;
查看字符的Unicode碼;
var str = "張";
var uCode=str.charCodeAt().toString(2)
如何將Unicode碼轉換成對應的字符??
已知Unicode碼:5f20
var str = "\u5f20";
console.log(str);
中文范圍:
"\u4e00" ~ "\u9fa5"
轉義字符:
\n : 換行
\t : 制表符
\" : "
\' : '
\\ : \
(3)、boolean類型
布爾類型,只用于表示真(true)或假(false)
注意:
在參與數(shù)字運算時,true當作1運算,false當作0運算
var r = 365 + true ; // 366
var r = 27.58 * false; // 0
var r = true + false; // 1
(4)、查看數(shù)據(jù)類型
使用 typeof() 或 typeof 都可以查看變量的數(shù)據(jù)類型
引用數(shù)據(jù)類型:(待續(xù))
?
數(shù)據(jù)類型轉換:
1,隱式轉換: 不同類型的數(shù)據(jù)在做加法運算時,會進行自動轉換;
(1)、字符串 + 數(shù)字 :將數(shù)字轉換為字符串
var num = 15;
var str = "18";
var r = num + str; //1518
var r = "15" + 18 + 15; //151815
var r = 15 + 18 + "15"; //3315
(2)、數(shù)字 + 布爾 :將布爾轉為數(shù)字做加法
var boo = true;
var num = 15;
var r = boo + num; //16
(3)、字符串 + 布爾 :將布爾轉換為字符串做連接
var boo = true;
var str = "Hello";
var r = boo + str;//trueHello
(4)、布爾 + 布爾 :都轉換為數(shù)字做加法運算
var b1 = true;
var b2 = false;
var r = b1 + b2; //1
?
2、強制轉換(轉換函數(shù))
(1)、toString()
將任意類型的數(shù)據(jù)轉換成字符串,并返回轉換后的結果
語法:
var r = 變量.toString();
var r = 變量+"";
(2)、parseInt()
作用:將指定的數(shù)據(jù)盡量轉換成整數(shù),如果實在無法轉換的話,則返回NaN(Not a Number)
ex:
1、
var r = parseInt("456");
r : 456
2、
var r = parseInt("123.456");
r : 123
3、
var r = parseInt("123Hello");
r : 123
4、
var r = parseInt("Hello123");
r : NaN
?
3、parseFloat()
作用:盡量將任意類型的數(shù)據(jù)轉換為小數(shù),如果實在無法轉換,那么結果為 NaN
(1)、
var r = parseFloat("3.14");
r : 3.14
(2)、
var r = parseFloat("3.14Hello");
r : 3.14
(3)、
var r = parseFloat("Hello3.14")
r : NaN
4、Number()
作用:將任意類型的數(shù)據(jù)轉換為數(shù)字,只要包含非法字符,結果就是NaN
(1)、
var r = Number("35");
r : 35
(2)、
var r = Number("35.65");
r : 35.65
(3)、
var r = Number("35NIHAO");
r : NaN
練習:
1、創(chuàng)建02-dataType-exer.html
2、在瀏覽器中彈出一個輸入框
var input = window.prompt("請輸入一個數(shù)字:")
input中存放的就是輸入的數(shù)據(jù)
3、將輸入的數(shù)據(jù) + 10,并打印計算后的結果
4、注銷第三步,使用typeof查看輸入的數(shù)據(jù)的類型是什么
5、將輸入的數(shù)據(jù)轉換為數(shù)字,再+10查看結果
?
二、運算符
1、算數(shù)運算符:
+,-,*,/,%(求余或模)
5 / 2 : 2.5
5 % 2 : 1
2 % 5 : 2
var num = 1234;
var ge = num % 10;
var shi = parseInt(num / 10) % 10
var bai = parseInt(num / 100) % 10;
var qian = parseInt(num / 1000);
運算符:++,--
++ :自增運算符,在自身基礎上做+1操作
-- :自減運算符,在自身基礎上做-1操作
前后綴:
var num = 10;
num++;
特點:先使用num的值,然后再做自增運算;
var num = 10;
console.log(num++); 輸出 10
console.log(num); 輸出 11
var num = 10;
++num;
特點:先對變量進行自增,然后再使用變量的值
var num = 10;
console.log(++num); 輸出 11
console.log(num);輸出 11
var num = 5;
5 (6)6 6(7) (8)8 8
var result = num + ++num + num++ + ++num + num ;
結果:33
2、關系運算符(比較運算符):
>,<,>=,<=,==,!=,===,!==
10 > 5 : true
"10" > 5 : true
運算符兩端如果有一個是數(shù)字的話,那么另外一個會自動轉換(通過Number())成數(shù)字,再進行比較
"10a" > 5 : false
"10a" < 5 : false
NaN 除了 != 以外,其他比較都是false
"10" > "5" : false
比較的是 字符1的ASCII 和 字符5的ASCII
張三豐">"張無忌" : false
三:19977
無:26080
"10" == 10 : true
運算符:
=== : 判斷數(shù)值和數(shù)據(jù)類型必須全相等的時候,結果才為真
!== : 數(shù)值 和 數(shù)據(jù)類型 任何一個不等的話,結果都為真
"10" !== 10 : true
"10" != 10 : false
?
3,邏輯運算符:
! ? 邏輯非, 等同于python not
&& ?邏輯與, 等同于python and
|| ? ? 邏輯或 , 等同于python or
練習:
從彈框中錄入一個年份(4位數(shù)字),判斷該年是否為閏年
閏年:能被4整除,但不能被100整除,或者能被400整除;
?
4,位運算符
(1)按位與 &
兩個數(shù)字的二進制位進行比較,對應位都為1, 則該位結果為1, 否則為0;
場合: 奇偶性驗證;
7 ?& 1 ?; // 1 奇數(shù)
7:111
1:001
6:110
1:001
(2)按位異或 ^
不借助第三方變量交換兩個數(shù)字時;
var ?a = 3;
var ?b = 5;
a = a ^ b ; ?a = 6
3 : 011
5: ?101
================
? ?110 : 6
b = b ^ a ; b=3
a : ?6 : 110
b : 5: ? 101
=================
? ?011: 3
a = ?a ^ b ; a = 5
a : 6: 110
b: 3: ?011
=================
?101:5
結論:?a = a ^ b ; ? ?b = b ^ a ; ?a = ?a ^ b ;?
?
5,條件運算符;
單目運算符: ++ , -- , !, -
雙目運算符: + , - ...
三目運算符: ?? :
語法: ??:
條件表達式? ? 表達式1 : 表達式2;
當條件表達式的結果為true的時候,執(zhí)行表達式1中的內容,并將表達式1的結果作為整體表達式的結果。否則,則執(zhí)行表達式2的內容,并將表達式2的結果作為整體表達式的結果
練習:
BMI 計算器
1、分兩次從彈框中輸入數(shù)據(jù)
1、第一次:輸入 身高(m)
2、第二次:輸入 體重(kg)
2、計算bmi
bmi = 體重 / (身高 * 身高)
3、
如果 bmi 的值小于20,提示偏瘦
如果 bmi 的值大于25,提示偏胖
否則 :提示正常;
?
6,賦值運算符;
+=,-=, *=, /=,
var a = 5;
a +=5; // a = a+5
var a = 3;
var b = 5;
?
a ?^= b ; //?a = a ^ b;
b ?^= a ; //?b = b ^ a;
a ?^= b ; //?a = a ^ b;
?
以下為優(yōu)先級,從高到低排序:
?
三,流程控制;
1、程序控制結構
(1)、順序結構
(2)、分支結構 / 選擇結構
(3)、循環(huán)結構
2、分支結構
(1)、if結構
語法:
if (條件) {
語句塊;
}
(2)、if ... else 結構
語法:
if (條件) {
語句塊1;
} else {?
語句塊2;
}
(3)、if ... else if ... 結構
語法:
if(條件1){
語句塊1
}else if(條件2){
語句塊2
}else if(條件n){
語句塊n
}else{
語句塊n+1
}
練習:
1、分三次從彈框中輸入年,月,日
2、判斷該日是該年的第?天
ex :
年 2018
月 3
日 14
1.3.5.7.8.10.12 :31天
4.6.9.11 :30天
2 :平年28天,閏年29天
2、switch結構
作業(yè):
從彈框中錄入一個字符,判斷該字符是中文?英文?數(shù)字?
ex:
從彈框中錄入:5
控制臺輸出:輸入的字符是數(shù)字
從彈框中錄入:a
控制臺輸出:輸入的字符是英文
從彈框中錄入:你
控制臺輸出:輸入的字符是漢字
?
轉載于:https://www.cnblogs.com/weizitianming/p/9562764.html
總結
以上是生活随笔為你收集整理的WEBBASE篇: 第八篇, JavaScript知识2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杂项-Java:JSP
- 下一篇: AviatorEvaluator表达式引