//單行注釋
alert('');彈出警告框
console.log('');控制臺(tái)輸出
document.write('');頁(yè)面上輸出
目前成都創(chuàng)新互聯(lián)公司已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、湘西土家族網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
//方式一:先定義 后賦值
var a=3;
a=100;
//方式二:定義+賦值
var a=100;
//變量需要先定義,后使用,不設(shè)置變量,直接輸出,會(huì)報(bào)錯(cuò)
只能由英文字母、數(shù)字、下劃線、美元符號(hào)$構(gòu)成
不能以數(shù)字開頭
不能是js的關(guān)鍵字
如果一個(gè)變量中,存放了數(shù)字,那么這個(gè)變量就是數(shù)值類型
只要是數(shù)字,無論是整數(shù),還是小數(shù),無論正數(shù),負(fù)數(shù)
typeof number;//查看數(shù)據(jù)類型
Fuction
Object
Array
String
Date
后面詳解
//隱式轉(zhuǎn)換
//強(qiáng)制轉(zhuǎn)換
//四舍五入
var b1 = '123'; //true
var b2 = 0; //false
var b3 = -123 //true
var b4 = Infinity; //true
var b5 = NaN; //false
var b6; //false
var b7 = null; //false
//使用Boolean(變量) 來查看當(dāng)前變量的真假
var age = 20;
if(age>18){
//{}相當(dāng)于作用域
console.log('可以去學(xué)車');
}
alert('vita'); //下面的代碼照樣執(zhí)行
var age = 20;
if(age>18){
//{}相當(dāng)于作用域
console.log('可以去學(xué)成');
}else{
console.log('年齡還不到');
}
alert('vita'); //下面的代碼照樣執(zhí)行
var age = 18;
if(age==18){
//{}相當(dāng)于作用域
console.log('可以去學(xué)成');
}else if(age==30){
console.log('該買車了');
}else{
console.log('隨便你了')
}
alert('vita'); //下面的代碼照樣執(zhí)行
//1.模擬 如果總分 >400 并且數(shù)學(xué)成績(jī) >89分 被**大學(xué)錄入
//邏輯與&& 兩個(gè)條件都成立的時(shí)候 才成立
if(sum>400 && math>90){
console.log('**大學(xué)錄入成功');
}else{
alert('去別的學(xué)校吧');
}
//2.模擬 如果總分>500 或者你英語大于85 被**大學(xué)錄入
//邏輯或 只有有一個(gè)條件成立的時(shí)候 才成立
if(sum>500 || english>85){
alert('被**大學(xué)錄入');
}else{
alert('去別的學(xué)校吧');
}
用途不大:就是先做一次 ,上來再循環(huán)
function:是關(guān)鍵字。
函數(shù)名字:命名規(guī)定和變量的命名規(guī)定一樣。
只能是字母、數(shù)字、下劃線、美元$符號(hào),不能以數(shù)字開頭。
參數(shù)():后面有一對(duì)小括號(hào),里面放參數(shù)。
大括號(hào){}里面是函數(shù)語句
兩個(gè)js文件中的函數(shù)名相同,會(huì)調(diào)用后引入的js中的函數(shù)
1.使用Object或?qū)ο笞置媪縿?chuàng)建對(duì)象
2.工廠模式創(chuàng)建對(duì)象
3.構(gòu)造函數(shù)模式創(chuàng)建對(duì)象
4.原型模式創(chuàng)建對(duì)象
object方式創(chuàng)建對(duì)象
字面量方式創(chuàng)建對(duì)象
一個(gè)student對(duì)象創(chuàng)建完成,擁有兩個(gè)屬性:name及age。
但這種方式有個(gè)缺點(diǎn),就是創(chuàng)建多個(gè)student,就需要書寫多次相同模式的代碼。
p標(biāo)簽內(nèi)容--原有內(nèi)容
p標(biāo)簽內(nèi)容--原有內(nèi)容
對(duì)于上面創(chuàng)建的對(duì)象student1和fruit,用×××tanceof監(jiān)測(cè),都是Object類型
如果我們希望student1是student類型,fruit是fruit類型,那么可以使用自定義構(gòu)造函數(shù)的方法來創(chuàng)建對(duì)象。
var obj = new Object();
var arr = new Array(10); //構(gòu)造一個(gè)初始長(zhǎng)度為10的數(shù)組對(duì)象
這兩種都是使用構(gòu)造函數(shù)方式創(chuàng)建對(duì)象
構(gòu)造函數(shù)與普通函數(shù)區(qū)別:
1.實(shí)際上并不存在創(chuàng)建構(gòu)造函數(shù)的特殊語法。
對(duì)于任意函數(shù),使用new操作符調(diào)用,就是構(gòu)造函數(shù);不使用new操作符調(diào)用,就是普通函數(shù)。
2.按照慣例,約定構(gòu)造函數(shù)名以答謝字母開頭,普通函數(shù)以小寫字母開頭。例如new Array(),new Object()。
3.使用new操作符調(diào)用構(gòu)造函數(shù)時(shí),會(huì)經(jīng)歷(1)創(chuàng)建一個(gè)新對(duì)象;(2)將構(gòu)造函數(shù)作用域賦給新對(duì)象(使this指向該新對(duì)象);(3)執(zhí)行構(gòu)造函數(shù)代碼;(4)返回新對(duì)象;4個(gè)階段。
我們看到兩個(gè)對(duì)象中有相同的方法,可以把相同的方法移到構(gòu)造函數(shù)外部
我們通過將共用的函數(shù)定義為全局函數(shù),這樣對(duì)象中的alertName屬性則被設(shè)置為指向該全局函數(shù)的指針。由此解決了內(nèi)存浪費(fèi)的問題。
還可以通過原型對(duì)象模式來解決
方式一:字面量方式創(chuàng)建
方式二:構(gòu)造函數(shù)方式
"sort是先按照第一個(gè)字符進(jìn)行排序,然后按照第二個(gè)字符排序"
"重寫sort排序規(guī)則"
將數(shù)組中元素使用指定的字符串連接起來,會(huì)形成一個(gè)新的字符串
布爾類型值 = Array.isArray(被檢測(cè)的值) ;
判斷被檢測(cè)的值是否是數(shù)組,返回布爾值。
之所以說arguments是偽數(shù)組,是因?yàn)閍rguments可以修改元素,但是不能改變數(shù)組的長(zhǎng)度。
所有變量和方法都屬于window對(duì)象。