JavaScript一種直譯式腳本語言,是一種動態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動態(tài)功能。
在1995年時,由Netscape公司的Brendan Eich,在網(wǎng)景導(dǎo)航者瀏覽器上首次設(shè)計實現(xiàn)而成。因為Netscape與Sun合作,Netscape管理層希望它外觀看起來像Java,因此取名為JavaScript。但實際上它的語法風(fēng)格與Self及Scheme較為接近。
為了取得技術(shù)優(yōu)勢,微軟推出了JScript,CEnvi推出ScriptEase,與JavaScript同樣可在瀏覽器上運行。為了統(tǒng)一規(guī)格,因為JavaScript兼容于ECMA標(biāo)準(zhǔn),因此也稱為ECMAScript。
javascript基本特點
JavaScript是一種屬于網(wǎng)絡(luò)的腳本語言,已經(jīng)被廣泛用于Web應(yīng)用開發(fā),常用來為網(wǎng)頁添加各式各樣的動態(tài)功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現(xiàn)自身的功能的。
是一種解釋性腳本語言(代碼不進行預(yù)編譯)。
主要用來向HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)頁面添加交互行為。
可以直接嵌入HTML頁面,但寫成單獨的js文件有利于結(jié)構(gòu)和行為的分離。
跨平臺特性,在絕大多數(shù)瀏覽器的支持下,可以在多種平臺下運行(如Windows、Linux、Mac、Android、iOS等)。
Javascript腳本語言同其他語言一樣,有它自身的基本數(shù)據(jù)類型,表達式和算術(shù)運算符及程序的基本程序框架。Javascript提供了四種基本的數(shù)據(jù)類型和兩種特殊數(shù)據(jù)類型用來處理數(shù)據(jù)和文字。而變量提供存放信息的地方,表達式則可以完成較復(fù)雜的信息處理。
javascript的基礎(chǔ)知識
1、javaScript的概念:是一種表述語言,也是一種基于對象(Object)和事件驅(qū)動(EventDriven)的,安全性好的腳本語言,運行在客戶端,從而減輕服務(wù)器端的負(fù)擔(dān),總結(jié)如下:
1.javaScript主要用來向HTML頁面找那個添加交互行為。
2.javaScript是一種腳本語言,語法和java類似。
3.javaScript一般用來編寫客戶端腳本。
4.javaScript是一種解釋性語言,邊執(zhí)行邊解釋。
2、javaScript由核心語法ECMAScript、瀏覽器對象模型(BOM) 主要用于管理窗口與窗口之間的通訊,因此其核心對象是window、文檔對象模型(DOM)三部分組成。
3、網(wǎng)頁中引入javaScript三種方式:
1.使用《Script》《/Script》標(biāo)簽內(nèi)部樣式
2.使用外部js文件
3.直接在HTML標(biāo)簽中的行內(nèi)樣式。
4.javaScript的作用
1.實現(xiàn)頁面表單驗證
2.實現(xiàn)頁面交互特效
5.javaScript的特點
1.被設(shè)計用來向Html頁面添加交互行為
2.是一種英特網(wǎng)上最流行的腳本語言
3.一般用于編寫客戶端腳本
4.是一種解釋性語言
6.引入javaScript的方式
1.使用《Script》標(biāo)簽直接嵌入網(wǎng)頁
2.使用外部js文件
Js中String對象常用的方法:
toString(包前不包后),2.toLowerCase();toUpperCase();
charAt(index);返回在指定位置的字符,indexOf(str,index);指定字符串中首次出現(xiàn)的位置;split(str);將字符串分割為字符串?dāng)?shù)組
在javaScript中條件語句Switch(){}可以接字符串;
alert(“提示信息”);
var isOk=confirm(“確認(rèn)框“);//如果確認(rèn)返回true,否則返回false
prompt();prompt(“提示信息”,“輸入框默認(rèn)信息”);
prompt(“請輸入姓名”)
close();
open();
setTimeout();在指定毫秒之后調(diào)用某個函數(shù)
setInterval();在指定周期毫秒來調(diào)用某個函數(shù)
window.open();
7.Js語法:
1.區(qū)分大小寫
2.注意變量,函數(shù)等命名規(guī)范
3.每行代碼以分號結(jié)束
Js中的函數(shù):
1.系統(tǒng)函數(shù)
ParseInt();轉(zhuǎn)換為整數(shù) 45.9a轉(zhuǎn)換為45;a6轉(zhuǎn)換返回為NaN(Not a Number)
isNaN(判斷是不是數(shù)字)
typeof(var);判斷是什么數(shù)據(jù)類型
eval(“5+2”);計算表達式值
2.自定義函數(shù)
Function 函數(shù)名(){javaScript代碼}
Function 函數(shù)名(參數(shù)1,參數(shù)2){javaScript代碼 return 返回值(可選)}
Js中函數(shù)的調(diào)用:
事件名=“函數(shù)名(傳遞的參數(shù)值)“;
函數(shù)名(傳遞的參數(shù)值);
匿名函數(shù):
匿名函數(shù)的聲明:
Var 變量名=function(參數(shù)){ 函數(shù)體 return 返回值;} ;
調(diào)用
變量名(參數(shù))
8.程序調(diào)用
1.添加alert();方法 2.使用fireBug();方法
9.BOM概述:(Browser Object Model,瀏覽器對象模型)
1.window對象的屬性
Weindow對象常用的方法:prompt()confirm();setTimeout();setInterval();
Window對象常用的事件:onload=”” onmouseover=””;onclick
window.parent.location
2.History對象
方法:back() ;forward();go();
3.Location對象提供當(dāng)前頁面的URL
屬性:host hostname href
方法:reload() replace();
4.Document對象
屬性:referrer屬性判斷是不是通過超鏈接訪問的,不是返回null
10.javaScript中的對象,
Date對象:
創(chuàng)建date對象發(fā)方法var date=new Date(MM DD ,YYYY,hh:mm:ss);
var date=new Date(); date.getDay();
Math對象:
Ceil();對數(shù)進行向上取整,ceil(25.5)=26;
Floor();向下取整,floor(25.5)=25;
Math.round(25.5);在原數(shù)的加0.5后向下取整
11.Dom概述(文檔對象模型)
由CoreDom,XMLDom,HTML Dom組成;
12.創(chuàng)建數(shù)組
Js中變量的聲明:
Var 數(shù)組名稱=new Array(size);
先聲明再賦值 fruit[0]=””
聲明同時賦值 var fruit=new Array(“apple”,”orange”);或 var fruit=new Array[“apple”,”orange”];
讀取1.使用for循環(huán)讀取 2.使用for---in讀取
For(var x in fruit){document.write(fruit[x]+”《br/》”)}x為下標(biāo)
Fruit.sort();//排序 string str=fruit.join(“-”);//添加字符串后連接成一個字符串
下拉列表Select對象:
13、 style 定位方面的樣式
left top position z-index
鼠標(biāo)滾動距離:scorllTop:縱向距離
scorllLeft:橫向距離
鼠標(biāo)滾動事假:onscorll
Jquery對象與Dom對象的相互轉(zhuǎn)換
jquery對象轉(zhuǎn)換為DOMD對象,jquery提供兩種方法將jquery對象轉(zhuǎn)換為DOM對象,即[index]和get(index),
var $txtName=$(“#txtName”);//jquery對象
var txtName=$txtName[0];//Dom對象
alert(txtName.checked);//檢測這個checkbox是否被選中
通過get(index)方法得到對應(yīng)的Dom對象
Var $txtName=$(“#txtName”);//jquery對象
Var txtName=$txtName.get(0);//Dom對象
alert(txtName.checked);//檢測這個checkbox是否被選中
Dom對象轉(zhuǎn)換為jQuery對象
Var txtName=document.getElementById(“txtName”);//dom對象
Var $txtName=$(txtName);//
Dom中添加class屬性使用obj.className=classname;
添加類容使用obj.innerHtml=《input /》
Jquery中添加class屬性使用obj.addClaa=classname;
添加類容使用:obj.html=《input/》;
Jqurey中的五大選擇器:
基本選擇器 (# 。 標(biāo)簽)
層次選擇器(后代 》子 +相鄰 ~同輩)
屬性選擇器(P[class=name])
過濾選擇器(“tr:even”)
可見性選擇器(“p:hidden” “p:viside”)
Jquery中的事件:
Obj.bind(“clike”,function(){});
obj.bind({mousever:function(){},{mouserout:function(){}}});
obj.unbind();
obj.hover(function(){},function(){})方法集合onmouseOver和onmouseOut
obj.toggle();
$(“.tipsbox”).show();obj.hide();
$(“img”).fadeIn(1000);
$(“.txt”).slideUp(1000); obj.slideDown(1000);
Obj.toggleClass(“class”);//集成了addClass和romoveClass
$(this).val(“”);//清空文本內(nèi)容
Var $newNode=$(《”《li》用jquery創(chuàng)建新元素節(jié)點《/li》”》);
在正則表達式
JS中常用的一些小技巧:
1.使用??!操作符轉(zhuǎn)換布爾值,對于變量可以使用??!varable做檢測,只要變量的值為:0,null , “” , undefind或者NaN都將返回的是false反之的是true
function Account(cash)
{
this.cash = cash;
this.hasMoney = !! cash;
}
2.使用+將字符串轉(zhuǎn)換為數(shù)字,只適用字符串?dāng)?shù)據(jù),否則返回NaN
function toNumber(strNum) {
return +strNum;
}
適用于Date()返回時間戳數(shù)字:+new Date();
3.在循環(huán)很大時候數(shù)字的長度先給去出來,var legth = array.legth;
4.if(‘querySelector’ in document) {
document.querySelector(“#id”);
} else {
document.getElementById(“id”);
}
5.獲取數(shù)組中的最后一個元素
var array = [1,2,3,4,5];
array.slice(-1);
6.字符串元素的替換
var string = “john john”;
string.replace(/hn/, “ana”); //“joana john”
string.replace(/hn/g, “ana”); //“joana joana”
評論