JavaScript學習基礎
javascript簡介
js試運行在 瀏覽器(客戶端)的編程語言
1.javascript的組成部分
- ECMAscript:JavaScript的核心,定義了JavaScript的語法規(guī)范 ;
- BOM: 瀏覽器對象模型,一套操作瀏覽器功能的API;
- DOM: 文檔對象模型,一套操作頁面元素的API;
2. Javascript的引入方式
- 外鏈
<script src=""></script>
- 行內(nèi)
<input type="button" onclick="alert('hello world')">
- 內(nèi)嵌
<script> alert('keke') </script>
3. js變量
什么是變量:
變量是計算機內(nèi)存中存儲數(shù)據(jù)的標識符谒出,根據(jù)變量名稱可以獲取到內(nèi)存中存儲的數(shù)據(jù)
為什么要使用變量
使用變量可以方便的獲取或者修改內(nèi)存中的數(shù)據(jù)
如何使用變量
- var 聲明變量
var age = 123;
- 變量賦值
var msg; msg = 'gusf';
- 同時聲明多個變量
var n1 = 10,n2 = 11,n3 = 12; console.log(n1,n2,n3);
變量的命名規(guī)則(必須要遵守,不然會報錯)
- 變量有數(shù)字、字母为居、下劃線和&符號組成,但是不可以以數(shù)字開頭;
- 變量區(qū)分大小寫;
- 變量不能是關鍵字和保留字(class for if var等等).
變量的命名規(guī)范(最好遵守,不會報錯)
- 駝峰命名法:例如
userName
,passWord
; - 命名需要有意義 .
交換變量的數(shù)值
var num1 = 4;
var num2 = 6;
// 臨時變量
var tmp = num1;
num1 = num2;
num2 = tmp;
console.log(num1,num2);
// 不借助臨時變量
var num3 = 34;
var num4 = 62;
num3 = num4 + num3;
num4 = num3 - num4;
num3 = num3 - num4;
console.log(num3,num4);
4.數(shù)據(jù)類型
-
數(shù)值(Number)類型:
浮點型(不要判斷兩個浮點型是否相等);NaN:不是數(shù)字,與任何數(shù)值相等,包括他自己;
isNaN()判斷不是數(shù)字類型;
var num = 1
; -
字符串(String)類型:
var str = 'abcd123';
1.轉(zhuǎn)義符:/n 換行颜骤、/r 空格忍抽、/t 制表董朝、/'單引號子姜、/"雙引號;
2.字符串長度:.length();
var str = '黑馬程序猿 Hello World';
console.log(str.length);
3.字符串拼接
字符串拼接使用 + 連接
console.log(11 + 11);
console.log('hello' + ' world');
console.log('100' + '100');
console.log('11' + 11);
console.log('male:' + true);
- 兩邊只要有一個是字符串哥捕,那么+就是字符串拼接功能
- 兩邊如果都是數(shù)字,那么就是算術功能遥赚。
- 布爾(Boolean)類型:
true
var bool = false;
- null類型:
null表示一個空,變量的值如果想為null讲坎,必須手動設置
var n = null;
- underfined類型:
undefined表示一個聲明了沒有賦值的變量,變量只聲明的時候值默認是undefined
var un;
- object(比較復雜的數(shù)據(jù)類型)
5.數(shù)據(jù)類型的轉(zhuǎn)換
-
轉(zhuǎn)化為字符串類型:
- toString()方法
var num = 3; console.log(num.toString());
null/underfined沒有toString()方法
- String方法 一般只會在null/underfined
var n = null; var nu; console.log(String(n)); console.log(String(nu));
- 字符串拼接
var num = 18; var isRight = true; console.log(typeof(num + '')); console.log(typeof(isRight + ''));
-
轉(zhuǎn)換為數(shù)值類型
- Number()方法:
Number()把字符串轉(zhuǎn)換成數(shù)值類型的時候,如果字符串中有一個字符不是數(shù)字,則為NaN;
var str = '8888' var str1 = 'abc'; console.log(Number(str));//8888 console.log(Number(str1));//NaN
- parseInt()方法:整數(shù)方法
var str = '123'; var isRight = false; console.log(parseInt(str)); //123 //無法把布爾類型轉(zhuǎn)換成數(shù)值類型,返回值是NaN; console.log(parseInt(isRight));//NaN var str1 = '123abc'; //parseInt()在轉(zhuǎn)換字符串的時候,如果遇到數(shù)字就會轉(zhuǎn)成數(shù)字,遇到非數(shù)字就會返回 console.log(parseInt(str1));//123 var str2 = 'abc123'; console.log(parseInt(str2));//NaN var str3 = '123.34'; console.log(parseInt(str3));//123
- parseFloat()方法
var str = '123.17'; var isRight = false; var str1 = '123.17.23.45'; console.log(parseFloat(str)); //123.17 //無法轉(zhuǎn)換布爾類型,返回NaN; console.log(parseFloat(isRight));//NaN //可以解析第一個點,遇到第二個點就返回 console.log(parseFloat(str));//123.17
- 取正+ 或取負-
var str = '123'; var str1 = '123adb'; var isRight = false; console.log(typeof(+str)); console.log(+str1);//NaN console.log(+isRight);//0
- 變量和0相減
var str = '123'; var str1 = '123adb'; console.log(str - 0);//123 console.log(+str1);//NaN
- Number()方法:
轉(zhuǎn)化為布爾類型
- Boolean()方法
var str = 'kyw12';
var num = 123789;
var temp = true;
var n1 = null;
var n2;
console.log(Boolean(str));//true
console.log(Boolean(num));//true
console.log(Boolean(temp));//true
console.log(Boolean(n1));//false
console.log(Boolean(n2));//false
//除了 null NaN undefined 0和空字符之外其他均為true