JS作業(yè)

一、什么是javascript

? ? javascript是一種運(yùn)行于js解釋器中的腳本語(yǔ)言

? ? javascript與html關(guān)系

? ? html是腳本語(yǔ)言,用于在瀏覽器中顯示

? ? javascript是腳本語(yǔ)言,用于與瀏覽器實(shí)現(xiàn)對(duì)話

二、javascript的發(fā)展史

? ? 1、1992年 , Nombas 為自己的軟件寫(xiě)一款腳本語(yǔ)言 C--? --》 ScritEase ,可以嵌入在網(wǎng)頁(yè)中運(yùn)行

? ? 2、1995年 ,Netscape(網(wǎng)景) Navigator2.0 --> LiveScript --> Javascript ,Java 與 Javascript之間沒(méi)有任何關(guān)系

? ? 3、1996年 ,Microsoft 在 IE3.0 中發(fā)布 JS的克隆版 --> JScript

? ? 4、1997年 ,Javascript 1.1 版本 作為 草案 提交給了? ECMA(歐洲計(jì)算機(jī)制造商聯(lián)合會(huì))

? ? ECMA-262標(biāo)準(zhǔn)? ECMAScript 作為 JS的 標(biāo)準(zhǔn)核心。 ES5? ES6

三、javascript的組成

? ? 1.ECMAScript

? ? 2.文檔對(duì)象模型(Dom,Document Object Model),讓js有能力與頁(yè)面元素對(duì)話

? ? 3.瀏覽器對(duì)象模型(Bom,Browser Object? ? ? Model),讓js有能力與網(wǎng)頁(yè)進(jìn)行對(duì)話


四、javascript的特點(diǎn)

? ? 1、編寫(xiě)簡(jiǎn)單 - 任何文檔編輯工具都可以編輯JS

? ? 2、無(wú)需編譯,直接運(yùn)行

? ? 3、弱類(lèi)型編程語(yǔ)言強(qiáng)類(lèi)型編程語(yǔ)言: C,C++,Java ...

特點(diǎn):由數(shù)據(jù)類(lèi)型來(lái)決定數(shù)值

弱類(lèi)型編程語(yǔ)言:JS

特點(diǎn):由數(shù)值來(lái)決定數(shù)據(jù)類(lèi)型

? ? 4、面向?qū)ο蟮木幊陶Z(yǔ)言

五、javascript的語(yǔ)法

? ? ? 1.在標(biāo)簽中寫(xiě)js代碼,該標(biāo)簽可以放在頁(yè)面的任何位置

? ? ? JS腳本

? ? ? 2.外部腳本文件

? 1)、創(chuàng)建腳本文件并編寫(xiě) 腳本

腳本文件:***.js

? 2)、引入外部腳本文件

注意:

1、必須是成對(duì)的 script

2、該對(duì)標(biāo)記中,不允許出現(xiàn)任何內(nèi)容

? ? 3.注釋

? ? ? ? ? 1)、單行注釋

? ? //? 單行注釋

? 2)、多行注釋

? ? /*

? ? * 多

? ? * 行

? ? * 內(nèi)

? ? * 容

? ? */

? ? 4.嚴(yán)格區(qū)分大小寫(xiě)

? ? ? ? ? console.log("");正確

? ? ? ? ? Console.log("");錯(cuò)誤


六、變量和常量

? 1.變量:內(nèi)存中的一段存儲(chǔ)空間

? 2. 變量的聲明

1)、聲明

? ? ? var 變量名;

2)、賦值

變量名=值;

3)、聲明變量并賦初始值

? ? var 變量名=值;

4)、注意

? ? ? 1、聲明變量時(shí)可以不加 var 關(guān)鍵字

? ? ? var stuname="張三豐";== stuname="張三豐";

如果省略了var 關(guān)鍵字, 那么聲明的就是"全局變量",有可能造成 "全局污染" 的效果

? ? ? ? 5)、如果聲明變量沒(méi)有賦值的話,那么將自動(dòng)賦值為 undefined

? 3、一次性聲明多個(gè)變量

聲明stuname,stuage,stugender 變量

? ? var stuname;

? ? var stuage;

? ? var stugender;


一次性聲明多個(gè)變量使用一個(gè)var 關(guān)鍵字, 多變量名之間 用 , 分隔

? var stuname, stuage,stugender;


4、變量的命名規(guī)范

1)、可以包含字母、數(shù)字、下劃線、$

var +name;? 錯(cuò)誤 ,不能有 +

2)、不能以數(shù)字開(kāi)頭

var 1name;? ? 錯(cuò)誤

var name1; 正確

var $name; 正確

var _name; 正確

3)、盡量見(jiàn)名知意

var a;

var b,c,d,e,f,g,aab,aac;

以上方式, 不推薦

var username;

var salary;


? 5、可以采用 "匈牙利命名法","駝峰命名法","下劃線命名法"

1、駝峰命名法

如果變量名是由多個(gè)單詞組成的合成詞,從第二個(gè)單詞開(kāi)始,每個(gè)單詞的首字符變大寫(xiě)。

var age;

var gender;

var salary;


var userName;

var userSalary;

var stuJavaScore

2、下劃線命名法

var _userName;? ? (一般用于全局變量命名)

var user_name;


常量:一旦聲明就不可以改變的值叫做常量

比如:1天=24小時(shí)? 1小時(shí)=60分鐘? 太陽(yáng)每天東升西落


? ? ? ? 1.聲明常量的方法:

? ? ? ? ? ? ? 1)聲明常量用 const,常量名一般大寫(xiě),聲明常量必須賦值

? ? ? ? ? ? ? ? ? const DAY;? ?

? ? ? ? ? ? ? ? const PI;

? ? ? ? ? ? ? 2)聲明常量并賦值

? ? ? ? ? ? ? ? ? ? const DAY=24;

? ? ? ? ? ? ? ? ? ? const PI=3.14;

js三種輸出方式

console.log('hello world');

? ? 控制臺(tái)輸出hello world

document.write('hello world');

? ? 頁(yè)面打印出hello world

alert('hello world');

頁(yè)面彈出helllo world


上面的兩部可以簡(jiǎn)寫(xiě)為

? var uname='張三';


在控制臺(tái)出輸出變量uname

console.log(uname);//正確

console.log('uname');//錯(cuò)誤。這樣輸出的是uname這串字,輸出一個(gè)變量不需要加引號(hào)


變量命名規(guī)范


每行后面加" ; 號(hào)"

變量名可以包含數(shù)字 字母 和下劃線? $

但不可以以數(shù)字和特殊符號(hào)開(kāi)頭

var name='張三';正確

var name1='張三';正確

var name_1='張三';正確

var $name='張三';正確

var 1name='張三';錯(cuò)誤

var +name='張三';錯(cuò)誤

var *name='張三';錯(cuò)誤

七、數(shù)據(jù)類(lèi)型


? ? js的數(shù)據(jù)類(lèi)型:

數(shù)字類(lèi)型(number)

字符串(string)

布爾(boolean)

? ? ? ? ? ? ? ? null(空)

? ? ? ? ? ? ? ? undefined(未定義)

對(duì)象(object)


? ? ? ? 1.數(shù)字類(lèi)型? number


數(shù)字類(lèi)型包括整數(shù)和小數(shù)


? ? ? ? 2. 字符串? string?

有引號(hào)單引或雙引的都是字符串類(lèi)型


? ? ? ? 3.布爾類(lèi)型? boolean

布爾類(lèi)型只有兩個(gè)值true 和 false,true表示真,false表示假

在做運(yùn)算的時(shí)候true為1? false 為0

? ? ? ? true+false=1

? ? ? ? 4.null? 空

? ? ? ? 5.undefined? 未定義


聲明變量沒(méi)復(fù)制返回undefined

? ? ? ? 6.object 對(duì)象

? ? ? ? ? ? ? ? ? ? var obj={};

? ? ? ? ? ? ? ? ? ? var arr=[];

八、數(shù)據(jù)類(lèi)型的轉(zhuǎn)換

? ? ? ? ? typeof

九、隱式轉(zhuǎn)換結(jié)論

1、數(shù)字 + 字符串 :將數(shù)字轉(zhuǎn)換為字符串

2、數(shù)字 + boolean :將 boolean 轉(zhuǎn)換為 number類(lèi)型

3、數(shù)字 + undefined :結(jié)果為 NaN,NaN的類(lèi)型為 number

4、字符串 + boolean :將boolean 轉(zhuǎn)換為 字符串

5、boolean + boolean :都轉(zhuǎn)換成number在做相加運(yùn)算

注:NaN:not a number? 判斷一個(gè)非數(shù)字? ? 如果不是一個(gè)數(shù)字返回true,如果是一個(gè)數(shù)字返回false

案例:var str="hello world";

? ? ? ? ? ? ? var str1=isNaN(str);

? ? ? ? ? ? ? console.log(str1);

二、顯示轉(zhuǎn)換/強(qiáng)制轉(zhuǎn)換

? ? ? ? ? ? ? 2.parseInt(); 將一個(gè)數(shù)據(jù)轉(zhuǎn)換為整數(shù)

? ? ? ? ? ? ? var? num=5.5;

? ? ? ? ? ? ? var str=parseInt(num);

? ? ? ? ? ? ? console.log(str);5

? ? ? ? ? ? ? console.log(typeof str);number

? ? ? ? ? ? 3.parseFloat();? 將一個(gè)數(shù)據(jù)轉(zhuǎn)換為小數(shù)?

? ? ? ? ? ? ? var? num=.5;

? ? ? ? ? ? ? var str=parseFloat(num);

? ? ? ? ? ? ? console.log(typeof str);//0.5

? ? ? ? ? ? ? console.log(typeof str);//number

? ? ? ? ? ? 4.Number? 將一個(gè)數(shù)據(jù)轉(zhuǎn)換為number類(lèi)型

? ? ? ? ? ? ? var str="35.5你好";

? ? ? ? ? ? ? var str1=Number(str);

? ? ? ? ? ? ? console.log(str);

? ? ? ? ? 5.toString()? 將任意類(lèi)型轉(zhuǎn)換為字符串類(lèi)型

? ? ? ? ? ? ? var? num=5;

? ? ? ? ? ? ? var str=num.toString();

? ? ? ? ? ? ? console.log(typeof str);


? ? ? ? ? ? toFixed(n)? ? 保留小數(shù)。

運(yùn)算符

? ? 1//算數(shù)運(yùn)算符;

? ? ? ? ? ? + - * /

%:模:兩個(gè)數(shù)相除的余數(shù)就是模

3%2=1

5%3=2

10%10=0

++;

++在前:自增加一,在賦值

var a=3;

var b=a++? ? ? 在后

var a=3;

var b=++a? ? ? 在前

++在后

++在后? :先賦值在加一

++在前:自增減一,在賦值

在后:先賦值在減一

2.關(guān)系運(yùn)算符

? ? > < >=? <=

等于 == 對(duì)應(yīng) !=

全等 === 對(duì)應(yīng) !==

3 邏輯運(yùn)算符:

? ? 與(和,且) &&

? ? 或 ||

? ? 非:相反 !


? ? 有假且為假 有真或?yàn)檎?/p>

三目運(yùn)算符

? ? var score=prompt('睡眠時(shí)間')

var result=score>=8?'正常':

'不正常';

alert(result);-->


分支結(jié)構(gòu)

if....else-->

if(條件){

? ? 條件為true的時(shí)候執(zhí)行的語(yǔ)句

? ? }

if(條件){

else

? ? 條件為false的時(shí)候執(zhí)行的語(yǔ)句

? ? }

4.switch? ......case...

switch(條件){

case 情況1:

//執(zhí)行的語(yǔ)句

break;

case 情況2:

//執(zhí)行的語(yǔ)句

break;?

case 情況3:

(執(zhí)行的語(yǔ)句)

break;

? }

var date = prompt('周周上分大全')

switch(date) {

case '星期一':

alert('武則天')

break;

case '星期二':

alert('李白')

break;

case '星期三':

alert('韓信')

break;

case '星期四':

alert('花木蘭')

break;

case '星期五':

alert('百里玄策')

break;

case '星期六':

alert('干將莫邪')

break;

case '星期日':

alert('小學(xué)生多不推薦打排位')

break;

default:

alert('重新輸入')

break;

}

var score = prompt('請(qǐng)輸入成績(jī)');

if(score>=100){

alert('國(guó)外三日游');

}else if(score>=90&&score<100){

alert('國(guó)內(nèi)三日游');

}else if(score>=80&&score<90){

alert('省內(nèi)三日游');

}else if(score>=70&&score<80){

alert('市內(nèi)三日游');

}else if(score>=60&&score<70){

alert('縣內(nèi)三日游');

}else if(score>=50&&score<60){

alert('鎮(zhèn)內(nèi)三日游');

}else if(score>=40&&score<50){

alert('打');

}else if(score>=30&&score<40){

alert('爆打');

}else if(score>=20&&score<30){

alert('吊打');

}else{

alert('狂打');

}

alert('國(guó)外三日游');

} else {

if(score >= 90)

alert('國(guó)內(nèi)三日游');

} else {

if(score >= 80) {

alert('省內(nèi)三日游')

} else {

if(score >= 70) {

alert('市內(nèi)三日游');

}

if(score >= 60) {

alert('縣內(nèi)三日游')

}if(score >= 50){

alert('鎮(zhèn)內(nèi)三日游')

}if(score >= 40){

alert('村內(nèi)三日游')

}if(score >= 30){

alert('家內(nèi)三日游')

}if(score >= 20){

alert('兩大嘴巴子')

}if(score >= 10){

alert('沒(méi)收手機(jī)999w秒')

}else{

alert('男女混合雙打')

}

}

}

}

使用運(yùn)算符

? var a=parseInt(prompt('第一個(gè)數(shù)'))

? var b=parseInt(prompt('第二個(gè)數(shù)'))

? var c=parseInt(prompt('第三個(gè)數(shù)'))

? alert(Number(a)+Number(b)+Number(c))

? alert(a*b/c)

? var a=5;

? var b=5;

var c=9;

console.log(a==b);

console.log(a>c);

console.log((a===b)||(c

console.log((a===b)&&(c

console.log((a===b)&&(c>a))

console.log(a<=b)

console.log(a!=b)

console.log(a)

隱式轉(zhuǎn)換

1.number+number

? ? var a=3;

? ? var b=5;

? ? console.log(a+b);

2.number+string 拼接

? ? var a=3;

? ? var b='5';

? ? var

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 最先接觸編程的知識(shí)是在大學(xué)里面,大學(xué)里面學(xué)了一些基礎(chǔ)的知識(shí),c語(yǔ)言,java語(yǔ)言,單片機(jī)的匯編語(yǔ)言等;大學(xué)畢...
    oceanfive閱讀 3,416評(píng)論 0 7
  • 工廠模式類(lèi)似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式。簡(jiǎn)單...
    舟漁行舟閱讀 8,140評(píng)論 2 17
  • 單例模式 適用場(chǎng)景:可能會(huì)在場(chǎng)景中使用到對(duì)象,但只有一個(gè)實(shí)例,加載時(shí)并不主動(dòng)創(chuàng)建,需要時(shí)才創(chuàng)建 最常見(jiàn)的單例模式,...
    Obeing閱讀 2,321評(píng)論 1 10
  • 第2章 基本語(yǔ)法 2.1 概述 基本句法和變量 語(yǔ)句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,618評(píng)論 0 13
  • 打算整理一個(gè)開(kāi)發(fā)實(shí)踐最佳工程指南 我們目前有如下方向: 測(cè)試方向 API 管理方向 問(wèn)題追蹤方向 開(kāi)發(fā)方向 測(cè)試方...
    pftom閱讀 281評(píng)論 0 0

友情鏈接更多精彩內(nèi)容