js基礎(chǔ)語法

js總的來說

1.被所有主流的瀏覽器支持并被大部分網(wǎng)頁使用

2.他可以在網(wǎng)頁上呈現(xiàn)動態(tài)效果

對于js代碼的位置

1.使用<script>標(biāo)簽在html網(wǎng)頁中插入

2.既可以在html文件中直接添加js代碼,也可以從外部把js文件進行引入(在js文件中不需要<script>標(biāo)簽)

js不能直接運行,我們需要在HTML中添加如下代碼

<script src="script.js"></script> ?

3.js在頁面中在任何位置都可以放置,但是我們一般把他放在head或者body里面

(js作為一種腳本語言可以在任何位置放置,但瀏覽器解釋代碼是都是從前到后,如果放在前面則先被初始化,如果頁面用js進行初始化則要把它放在head里


1.變量

變量是可變的量

1.變量的命名法則與c語言相似(需要用字母下劃線或者美元符號進行開頭,后面可以加上數(shù)字)

2.變量用var進行命名

var mynum

需要注意的是變量可以不聲明直接使用

3.特殊之處在于var可以定義各種數(shù)據(jù)類型的變量


2.+操作符(附帶著表達式)

可以進行加減和字符串鏈接運算

1.操作符

sum=numa+numb;//這就是一個表達式

2.連接字符

mystring="java"+"Script";//這也是一個表達式


3.自加自減,和邏輯運算符,和關(guān)系運算符與c相似

1.自加自減與c相似

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

var a=5;

var b=6;

document.write(a<b)//輸出真(true)


3.&&為且運算符||為或!為非運算符

4.算術(shù)運算符》關(guān)系運算符》邏輯運算符》=賦值符號


4.定義數(shù)組

var mybox =new array()

1.創(chuàng)建的數(shù)組是空數(shù)組沒有值,若輸出,則為undefined

2.雖然制定了長度,但實際上可以大于限制的長度

有兩種方法為數(shù)組進行賦值

第一種方法

var myarray=new Array(1,2,3)

第二種方法

var myarray=[1,2,3]

可以運用c中數(shù)組賦值方法對數(shù)組進行賦值

3.對于二維數(shù)組。

聲明方式一

var myarr=new Array(); //先聲明一維 ?for(var i=0;i<2;i++){ //一維長度為2 myarr[i]=new Array(); //再聲明二維 ?for(var j=0;j<3;j++){ //二維長度為3 myarr[i][j]=i+j; // 賦值,每個數(shù)組元素的值為i+j } }

定義方式二

var myarray=[[1,2],[3,4]]:

5.for循環(huán)while循環(huán),break,continue循環(huán)控制,if else等多重嵌套,swatich等語法

語法與c十分相似,就不再一一贅述


6.函數(shù)

函數(shù)是完成某個特定功能的一組語句。如沒有函數(shù),完成任務(wù)可能需要五行、十行、甚至更多的代碼。這時我們就可以把完成特定功能的代碼塊放到一個函數(shù)里,直接調(diào)用這個函數(shù),就省重復(fù)輸入大量代碼的麻煩。

函數(shù)的大致代碼如下

function 函數(shù)名() { ? ? ?函數(shù)代碼; }

說明:

1. function定義函數(shù)的關(guān)鍵字。

2. "函數(shù)名"你為函數(shù)取的名字。

3. "函數(shù)代碼"替換為完成特定功能的代碼。


1.函數(shù)的調(diào)用方數(shù)與c中相同,只有調(diào)用后函數(shù)才可以使用

2.帶參函數(shù)和函數(shù)的返回值使用方式也和c相似


7.事件

JavaScript 創(chuàng)建動態(tài)頁面。事件是可以被 JavaScript 偵測到的行為。 網(wǎng)頁中的每個元素都可以產(chǎn)生某些可以觸發(fā) JavaScript 函數(shù)或程序的事件。

1.onclick事件

onclick是鼠標(biāo)單擊事件,當(dāng)在網(wǎng)頁上單擊鼠標(biāo)時,就會發(fā)生該事件。同時onclick事件調(diào)用的程序塊就會被執(zhí)行,通常與按扭一起使用

onclick放在input里面

2.onmouseover

當(dāng)鼠標(biāo)移到一個對象上時,該對象就觸發(fā)onmouseover事件,并執(zhí)行onmouseover事件調(diào)用的程序。

用法與onclick相同

3.onmouseout

鼠標(biāo)移開事件,當(dāng)鼠標(biāo)移開當(dāng)前對象時,執(zhí)行onmouseout調(diào)用的程序。

4.onfocus

當(dāng)網(wǎng)頁中的對象獲得聚點時,執(zhí)行onfocus調(diào)用的程序就會被執(zhí)行。

5.onblur

onblur事件與onfocus是相對事件,當(dāng)光標(biāo)離開當(dāng)前獲得聚焦對象的時候,觸發(fā)onblur事件,同時執(zhí)行被調(diào)用的程序。

6.onselect

為選中文件,選中事件,當(dāng)文本框或者文本域的文字被選中是就會觸發(fā)

7.onchange

通過改變文本框內(nèi)的文字時就會觸發(fā)此事件


對象

至于什么是對象

JavaScript 中的所有事物都是對象,如:字符串、數(shù)值、數(shù)組、函數(shù)等,每個對象帶有屬性和方法。

對象的屬性和方法是對象的重要組成元素

對象的屬性:反映該對象某些特定的性質(zhì)的,如:字符串的長度、圖像的長寬等;

對象的方法:能夠在對象上執(zhí)行的動作。例如,表單的“提交”(Submit),時間的“獲取”(getYear)等;

使用對象前要先進行定義

var myarray=new Array()

可以用對象點屬性來訪問對象的屬性

對于方法的訪問與對于屬性的訪問相似


下面介紹幾種比較常用的內(nèi)置對象

1.日期對象

get/setDate用來返回和設(shè)置日期

get/setFullYear()用來返回設(shè)置年份,(完整的用四位數(shù)表示的年份)

get/setYear用來設(shè)置年份

還可以設(shè)置和返回月每小時,分鐘,秒等,用法與上述方法相似

document.write(my date.getFullYear());
my date.setFullYear(81);6可以把年份設(shè)置為四位

getDay()返回星期,返回的是0-6的數(shù)字0代表周日

用法跟年份相似

對于日期的設(shè)置方法

時間推遲一小時就用x.setTime(x.getTime()+60*60*1000);

2.string字符串對象

定義字符串的方法就是直接賦值

用length計算對象的長度

用toUpperCase()方法將字符串串轉(zhuǎn)化成大寫

用charAt()方法可以返回指定位置的字符

需要注意的是,如果第一個字符的下標(biāo)為0最后一個字符串要減一,如果超出了字符串的范圍,則會返回一個空字符串,一個字符也算是一個字符串

indexOf() 方法可返回某個指定的字符串值在字符串中首次出現(xiàn)的位置。

stringObject.indexOf(substring, startpos) ?第一個參數(shù)是用來寫出要查找的字符,第二個參數(shù)為查找的范圍

1.該方法將從頭到尾地檢索字符串 stringObject,看它是否含有子串 substring。

2.可選參數(shù),從stringObject的startpos位置開始查找substring,如果沒有此參數(shù)將從stringObject的開始位置查找。

3.如果找到一個 substring,則返回 substring 的第一次出現(xiàn)的位置。stringObject 中的字符位置是從 0 開始的。

注意:1.indexOf() 方法區(qū)分大小寫。

2.如果要檢索的字符串值沒有出現(xiàn),則該方法返回 -1。


split() 方法將字符串分割為字符串?dāng)?shù)組,并返回此數(shù)組

stringObject.split(separator,limit)第一個參數(shù)是用來顯示從該位置開始進行劃分


substring() 方法用于提取字符串中介于兩個指定下標(biāo)之間的字符。

stringObject.substring(startPos,stopPos) 第一個參數(shù)為初始位置第二個為結(jié)束位置

與此相似的是

substr() 方法從字符串中提取從 startPos位置開始的指定數(shù)目的字符串。


3.數(shù)學(xué)對象


E ? ? ? ? ? 歐拉常量,自然對數(shù)的底(約等于2.718)

LN2 ? ? ? ? ?2的自然對數(shù)(約等于0.693)

LN10 ? ? ? ? ?10的自然對數(shù)(約等于2.302)

LOG2E ? ? ? ? 以2為底的e的對數(shù).(約等于1.442)

LOG10E ? ? ? ? 以10為底的e的對數(shù)(約等于0.434)

PI ? ? ? ? ? ∏的值(約等于3.14159)

SQRT1_2 ? ? ? ?1/2(0.5)的平方根(即l除以2的平方根,約等于o.707)

SQRT2 ? ? ? ? 2的平方根(約等于1.414)

方法:

abs(x) ? ? 返回數(shù)字的絕對值

acos(x) ? ?返回數(shù)字的反余弦值

asin(x) ? ?返回數(shù)字的反正弦值

atan(x) ? ?返回位于-PI/2 和 PI/2 的反正切值

atan2(y,x) 返回(x,y)位于 -PI 到 PI 之間的角度

ceil(x) ? ?返回 x 四舍五入后的最大整數(shù)

cos(x) ? ? 返回一個數(shù)字的余弦值

exp(x) ? ? 返回 E^x 值

floor(x) ? ?返回 x 四舍五入后的最小整數(shù)

log(x) ? ? 返回底數(shù)為E的自然對數(shù)

max(x,y) ? ?返回 x 和 y 之間較大的數(shù)

min(x,y) ? ?返回 x 和 y 之間較小的數(shù)

pow(x,y) ? ?返回 y^x 的值

random() ? ?返回位于 0 到 1 之間的隨機函數(shù)

round(x) ? ?四舍五入后取整

sin(x) ? ? 返回數(shù)字的正弦值

sqrt(x) ? ?返回數(shù)字的平方根

tan(x) ? ? 返回一個角度的正切值

toSource() 顯示對象的源代碼

valueOf() 返回數(shù)學(xué)對象的原始值


4.數(shù)組對象

數(shù)組對象是一個對象的集合,里邊的對象可以是不同類型的。數(shù)組的每一個成員對象都有一個“下標(biāo)”,用來表示它在數(shù)組中的位置,是從零開始的

concat屬性用來連接多個數(shù)組

join()方法用于把數(shù)組中的所有元素放入一個字符串。元素是通過指定的分隔符進行分隔的。

reverse() 方法用于顛倒數(shù)組中元素的順序。

slice() 方法可從已有的數(shù)組中返回選定的元素。

sort排序



下面對瀏覽器對象進行介紹

setInterval在執(zhí)行時,從載入頁面后每隔指定的時間執(zhí)行代碼

例如

setInterval(clock,1000)第一個參數(shù)為調(diào)用的函數(shù),第二個參數(shù)為交互的時間(以毫秒為計數(shù)單位)

clearinterval()方法是用來取消setInterval()設(shè)置的交互時間

括號里面的參數(shù)為set函數(shù)返回的值

setTimeout()計時器在載入后延遲一段時間然后執(zhí)行禁止性一次

clearTimeout()用來清除

history對象記錄了用戶瀏覽過的頁面

window.history.屬性方法


屬性含有l(wèi)ength返回瀏覽器歷史列表中的url數(shù)量

方法含有back()返回上一個

forward()加載上一個

go()進入某個具體的頁面

location對象用于獲取或設(shè)置窗體的url并且可以用來解析url

hash:如果URL中包含有“#”,該方法將返回該符號之后的內(nèi)容(例如:http://www.sunchis.com/index.html#welcome的hash是“#welcome”)。

host:服務(wù)器的名字,例如www.sunchis.com。

hostname:通常等于host,有時會省略前面的www。

href:當(dāng)前頁面載入的完整URL。

pathname:URL中主機名之后的部分。例如:http://www.sunchis.com/html/js/jsbasic/2010/0319/88.html的pathname是“/html/js/jsbasic/2010/0319/88.html”。

port:URL中聲明的請求端口。默認(rèn)情況下,大多數(shù)URL沒有端口信息(默認(rèn)為80端口),所以該屬性通常是空白的。像http://www.sunchis.com:8080/index.html這樣的URL的port屬性為8080。

protocol:URL中使用的協(xié)議,即雙斜杠(//)之前的部分。例如http://www.sunchis.com中的protocol屬性等于http:,ftp://www.sunchis.com的protocol屬性等于ftp:。

search:執(zhí)行GET請求的URL中的問號(?)后的部分,又稱查詢字符串。例如http://www.sunchis.com/search.html?tern=sunchis中的search屬性為?term=sunchis。

方法:

assign()加載新的文檔

reload()重新加載當(dāng)前的文檔

replace()用新的文檔替換當(dāng)前的文檔


navigator對象包含有關(guān)瀏覽器的信息通常用于檢測瀏覽器和操作系統(tǒng)的版本

var appCodeName= window.navigator.appCodeName;//返回與瀏覽器相關(guān)的內(nèi)部代碼名? 都為Mozilla

var?appName=navigator.appName;//返回瀏覽器正式名稱??均為Netscape

var?appVersion=navigator.appVersion;//返回瀏覽器版本號

var?cookieEnabled=navigator.cookieEnabled;//返回瀏覽器是否啟用cookie,true和false

var?geolocation=navigator.geolocation;//返回地理定位信息(h5)

var?javaEnabled=navigator.javaEnabled();//檢測當(dāng)前瀏覽器是否支持?Java,從而知道瀏覽器是否能顯示?Java?小程序(IE,chrome返回true,firefox返回false)

var?language=navigator.language;//返回瀏覽器的首選語言

var?mimeTypes=?navigator.mimeTypes;//返回瀏覽器支持的Mime類型

var?msManipulationViewsEnabled=?navigator.msManipulationViewsEnabled;//僅支持IE,true

var?msMaxTouchPoints=navigator.msMaxTouchPoints;//字面意思是最大的觸摸點,IE為0,其他不支持

var?msPointerEnabled=navigator.msPointerEnabled;//IE為true,其他不支持

var?onLine=navigator.onLine;//是否連接互聯(lián)網(wǎng),均返回true(未斷網(wǎng))

var?platform=navigator.platform;//所在平臺,返回win32

var?plugins=navigator.plugins;//返回瀏覽器插件集合

var?preference=navigator.preference;//允許一個已標(biāo)識的腳本獲取并設(shè)置特定的?Navigator?參數(shù)

var?product=?navigator.product;//瀏覽器產(chǎn)品名,返回gecko

var?systemLanguage=navigator.systemLanguage;//獲取系統(tǒng)語言,IE支持,返回zh-cn

var?userAgent=navigator.userAgent;//判斷瀏覽器類型

var?userLanguage=navigator.userLanguage;//返回操作系統(tǒng)的自然語言設(shè)置,IE支持,返回zh-cn

//方法

var?msLaunchUri=navigator.msLaunchUri;//回調(diào)函數(shù),未研究

var?taintEnabled=navigator.taintEnabled;//回調(diào)函數(shù)

var?hasOwnProperty=navigator.hasOwnProperty;//意思是是否支持屬性,用法如下

var?s=document.hasOwnProperty("ontouchstart");//電腦返回false,手機為true


screen屬性

window.screen.屬性

availHeight窗口可以使用的屏幕的高度

availWidth窗口可以使用的屏幕寬度

colorDepth用戶瀏覽器的顏色位數(shù)

height屏幕的高度

width屏幕的寬度

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

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

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