一 變量
1.先聲明變量?var name;
再賦值 ?賦值是從右到左,字符串類型要用雙引號或者單引號來括起來。
name='迪麗熱巴';
?alert(name);
2.同時聲明變量并賦值
?var age = 18;
?alert(age)
3.聲明多個變量,用var關(guān)鍵字來聲明變量,習(xí)慣一句話結(jié)束了使用;封起來
var name, age, sex;
name = "李四";
age = 18;
sex = "男";
4.前面name和age表示聲明 最后sex聲明加賦值
var b,age,sex="男";
console.log(b);
console.log(age);
console.log(sex);
5.聲明多個變量并賦值
var b="李四",age=18,sex="男";
console.log(b);
console.log(age);
console.log(sex);
6.控制臺的打印方法,已經(jīng)聲明 但是沒有被賦值 就會默認(rèn)給個undefined.
var a;
console.log(a)
7.不聲明直接賦值
username = '藍(lán)色天空'
document.write(username)
不定義直接寫會報(bào)錯
userage
document.write(userage)
8.var和let的區(qū)別
使用let定義的user是不能夠被重復(fù)的聲明的 而var可以被重復(fù)聲明,let比var更加的嚴(yán)謹(jǐn)。
二?數(shù)據(jù)類型
1.基本數(shù)據(jù)類型
變量已經(jīng)聲明但是沒有賦值,所以默認(rèn)undefined
let username;?
typeof是用來檢測變量的類型?
這里的username是undefined類型?
console.log(typeof username);?
2.null是一個特殊的對象類型
let o = null;??
null也屬于一個數(shù)據(jù)類型?
console.log(typeof o); */ /* 返回的是object?
null表示一個空值,與undefined值相等?
?一個等于叫賦值 兩個等于叫比較值 比較之后會產(chǎn)生一個布爾值
等于就是true 不等于就是false?
console.log(null==undefined)?
兩個等于只比較值?
console.log(123=="123");?
三個等于比較值和類型?
這里值是一樣的,但是123是數(shù)字類型,'123'代表字符串,
但是類型不同所以是false?
console.log(123==='123')?
3.? ? 90 就是number數(shù)據(jù)類型??
90 整數(shù) 90.09 小數(shù)也叫做浮點(diǎn)數(shù)?
let num = 90.09;
console.log(typeof num);?
4.? boolean類型包含 true false?
let flag = true;
console.log( typeof flag )?
5.? ?關(guān)鍵字,不能作為變量的?
let true = 123;
console.log(true);?
6.? string 叫字符串類型 用單引號或者雙引號括起來的文字?
let str = "我愛你中華";?
用+號表示 字符串的拼接?
document.write('str:' + typeof str);?
三? 運(yùn)算符
1.算術(shù)運(yùn)算符
加號?
數(shù)字類型之間的加號是相加?
let num1 = 1;
let num2 = 2;
document.write(num1+num2);?
字符串類型的相加是拼接?
let str1 = '1';
let str2 = '2';
document.write(str1+str2);?
這里也存在隱式數(shù)據(jù)類型轉(zhuǎn)換,把他們兩轉(zhuǎn)成同一種類型進(jìn)行比較
只要值相等就為true?
console.log(123=='123');?
隱式數(shù)據(jù)轉(zhuǎn)換 會把數(shù)字類型的2 轉(zhuǎn)成字符串類型進(jìn)行拼接?
let str1 = '1';
let num1 = 2;
document.write(str1+num1);?
2.? ? 減號?
會把字符串類型的數(shù)據(jù) 正常進(jìn)行減法?
隱式數(shù)據(jù)類型轉(zhuǎn)換 會把字符串2轉(zhuǎn)成數(shù)字類型的2 進(jìn)行運(yùn)算?
let num1 = '2';
let num2 = 1;
document.write(num1-num2); */
自行的繼續(xù) 數(shù)據(jù)的加減 和 字符串的拼接?
3.? ?*乘號?
會把字符串類型的數(shù)據(jù) 正常進(jìn)行乘法??
隱式數(shù)據(jù)類型轉(zhuǎn)換 會把字符串2轉(zhuǎn)成數(shù)字類型的2 進(jìn)行運(yùn)算?
let num1 = '2';
let num2 = 5;
document.write(num1*num2);?
4.? ??/除號 會把字符串類型的數(shù)據(jù) 正常進(jìn)行除法??
隱式數(shù)據(jù)類型轉(zhuǎn)換 會把字符串6.2轉(zhuǎn)成數(shù)字類型的6.2 進(jìn)行運(yùn)算?
let num1 = "6.2";
let num2 = 2;
document.write(num1/num2);?
5.? ?%取余?
會把字符串類型的數(shù)據(jù) 正常進(jìn)行取余??
隱式數(shù)據(jù)類型轉(zhuǎn)換 會把字符串7轉(zhuǎn)成數(shù)字類型的7 進(jìn)行運(yùn)算?
let num1 = '7';
let num2 = 2;
document.write(num1%num2);?
6.? ?num++ ,++num
let num = 1;?
等于 num = num +1?
num++;
document.write(num);?
let num = 1;?
賦值的時候 ++寫在前面表示 先加1 再賦值?
let a = ++num;? ? a結(jié)果是2?
賦值的時候 ++寫在后面表示 先賦值 再加1
let a = num++;? ? a的結(jié)果是1?
document.write(a);?
document.write(num); */ /* 對num沒有影響?
let num1 = 2;
num1--;
console.log(num1);?
7.? ?--的前后的規(guī)則和++一致?
let num1 = 2;
let a = --num1;
console.log(a);?