- 相關(guān)推薦
個人心得javascript總結(jié)
當(dāng)我們有一些感想時,可以將其記錄在心得體會中,這樣就可以總結(jié)出具體的經(jīng)驗和想法。那么寫心得體會要注意的內(nèi)容有什么呢?下面是小編整理的個人心得javascript總結(jié),歡迎大家分享。
個人心得javascript總結(jié)1
1、javascript 是一種基于對象,和事件驅(qū)動的 并具有安全性的腳本語言;基于對象,動態(tài)語言,無需編譯,直接解釋執(zhí)行;
2、可以放在的地方;
A、中,一對
之間;
B、單獨文件中
C、將腳本程序代碼作為屬性值、javascript
3、保留字以及關(guān)鍵字;
4、javascript基本語法:
4.1 標(biāo)識:大小寫字母,數(shù)字,下劃線,和美元符號:不能以數(shù)字開頭;
4.2 javascript嚴(yán)格區(qū)分大小寫
4.3 每條語句必須以 分號結(jié)束;(不寫,一般沒事,但是可能會引起不必要的歧義)
4.4 多行注釋 /* */ 單行注釋:
//
4.5
Function test(){
Var i=100; //不加var 就會自動變成全局變量,這樣在以后會產(chǎn)生沖突; Alert(i);
}
Test();
5、數(shù)據(jù)類型:(數(shù)字,boolean,String字符串;日期什么的 是對象了)
特殊值:NaN,Infinity,函數(shù)isNaN();isFinite();
Boolean,取值只能是 true,和false 全是小寫
邏輯運算符
var a=100;
var b=0;
var c=a||b;
alert(c);//返回值是100:就是當(dāng)兩邊返回值都是false時,返回第一個或最后一個不為false的'值;
6、什么值在javascript中是false?
邏輯運算中,0,“”,false,null,undefined,NaN均表示false
6.1想要賦個默認(rèn)值:怎么辦?
function test(e){
e=e||new object();
if(e.name!=ang){
alert(e);}}
test(3);
看這里:
Var sth=test;//相當(dāng)于將函數(shù)賦給一個變量,這個變量之后可以傳參運行了; Alert(sth(100));
7、javascript中的系統(tǒng)函數(shù):
7.1 編碼解碼:alert(encodeURI(sht中午啊));處理中文情況; decodeURI,對編碼的進行解碼;
7.2、數(shù)值轉(zhuǎn)換;
parseInt(‘’);//將其他類型轉(zhuǎn)換成數(shù)字;原理:從第一個字符開始,如果第一個可以轉(zhuǎn)換就繼續(xù)向下走,直到不能轉(zhuǎn),省略后面,如何第一個都不行,就直接返回NaN格式;
var a=parseInt(‘555abc’);//返回555;
var b=parseInt(‘cc’);//返回NaN;
7.3 eval;將其中的參數(shù)字符串當(dāng)做一個javascript表達式執(zhí)行; var a="alert(fu ck you);";
eval(a);
var b=eval("{a:thank,b:30}");
alert(b.b);//為啥沒有反應(yīng)!
二、javascript的類
1、 javascript的內(nèi)部類;
所有類的基類都是 object;
可以動態(tài)的給類添加方法和屬性;//java無法做到的,記住!
var obj=new Object();
obj.sayhello=function(){
alert(this.msg);}
obj.msg=haha i can have my class;
obj.sayhello();
Var n1=new Number(1100);
Alert(n1.toString(2));//返回n1的二進制表示形式;
var s=ang;
s=s.link();
alert(s);//ang彈出這個形式;
var sss.
Alert(typeof sss);//查看數(shù)據(jù)的類型;
Alert(sss.constructor);//查看數(shù) 據(jù)的構(gòu)造函數(shù)
個人心得javascript總結(jié)2
javascript學(xué)習(xí)總結(jié)1.JavaScript中的對象
分為3種。
。1)JavaScript的內(nèi)置對象
常用的有Date,Array,String,Math,對象,這些都是經(jīng)常會用到的,一定要掌握好。
。2)文檔對象模型(Document Object Model,DOM)
這個對象表示了當(dāng)前瀏覽器的多個組件和當(dāng)前的HTML文檔。DOM我認(rèn)為是JS中最重要的一個對象,通過他可以獲得任何一個HTML元素,1.通過document.form1.name得到,這種是瀏覽器支持的dom對象,不屬于js,2.咱們經(jīng)常用的是document.getElementById("name"),這種是w3c組織制定的一級DOM對象標(biāo)準(zhǔn)。
。3)自定義對象
我總認(rèn)為js的自定義對象沒必要用,如果你是按照面向?qū)ο蟮木幊趟枷,那么?yīng)該用Java,而不是用js的對象。
2.DOM對象,history以及l(fā)ocation
為了操控瀏覽器和文檔,js使用分層的父對象和子對象,這就是DOM。這些對象的組織類似一個樹形結(jié)構(gòu),并表示一個Web文檔的所有內(nèi)容組件。
Window是所有對象的父對象
document對象幾種常用方法
document.URL:指明了文檔的URL地址。不可改變,如果需要給用戶不同的地址應(yīng)該用window.location對象
document.write:列出了當(dāng)前頁面的標(biāo)題
document.referrer:用戶所瀏覽的上一個頁面的URL地址。
document.lastModified:文檔最后修改日期
document.cookie 允許讀取和設(shè)置一個文檔的cookie
history對象的幾種常用方法
history.length();保存了歷史列表的長度
history.go();打開歷史列表中一個網(wǎng)址,要指定一個正數(shù)或者負(fù)數(shù)。
history.back();歷史列表中的前一個網(wǎng)址,相當(dāng)于后退按鈕。
historay.forward();歷史列表中的后一個網(wǎng)址,相當(dāng)于后退按鈕。
location對象的幾種常用方法
location.protocol:網(wǎng)址的協(xié)議部分---http
location.hostname:網(wǎng)址的主機名---
location.port:網(wǎng)址的端口號---80
location.pathname:網(wǎng)址的文件名部分---tese.do
location.search:網(wǎng)址的查詢部分---lines=1
location.hash:網(wǎng)址中使用的anchor名---#anchor
location對象的兩個方法
location.reload() 刷新當(dāng)前文檔,瀏覽器中的刷新按鈕。
location.replace()替換一個新的位置
3.JavaScript中的變量名稱,表達式,運算符,數(shù)據(jù)類型
變量名稱,表達式,運算符,和Java中差別不大,就不多加敘述了
數(shù)據(jù)類型
1.數(shù)字:整數(shù),浮點數(shù)
2.布爾值:真,假。
3.字符型:字符串對象
4.空值,null。
parseInt()----將一個字符串轉(zhuǎn)換為整數(shù)值。
parseFloat----將一個字符串轉(zhuǎn)換為浮點小數(shù)
字符串中有一些常用的方法,如subString,charAt等,與Java中的很像,就不敘述了
4.JavaScript中的函數(shù)
函數(shù)定義的最佳位置是文檔中的部分,因為部分語句會首先執(zhí)行。 函數(shù)中可以帶有參數(shù)列表,但是參數(shù)都沒有類型,也不需要在定義函數(shù)的時候聲明返回值,想有返回值的話,直接return即可,和Java不同。
如:
Js代碼
1. function g
reet(who){
2. alert(“Gadsden” + who);
3. return “asdasd”;
4. }
5.JavaScript中的對象
他和Java中的對象很相似,之前我曾說不需要用到他,用Java的就夠了,昨天看了一個人的文章,說你要想用好一門語言,就要尊重這門語言,就像現(xiàn)在的JavaScript,如果簡單的把他當(dāng)做一門腳本語言,那可能只能停留在入門和初級階段。
如何擴展內(nèi)置對象
使用prototype關(guān)鍵字,可以向現(xiàn)有對象中添加屬性和方法。
例如:
Js代碼
1.
2. function addHead(level){
3. html = "H" + level;
4.text = this.toString();
5. start = "<" + html +">";
6.end = "";
7.return start + text + end;
8. }
9. String.prototype.heading = addHead;
10. document.write("this is a test".heading(1));
11. document.write("this is a test".heading(2));
12. document.write("this is a test".heading(3));
13.
這樣就為String對象又新增添了一個方法,heading,并指明每次調(diào)用heading的時候,他都會去調(diào)用addHead方法。
6.JavaScript中的`Data Math等內(nèi)置對象
他們與Java中的又是很相似,不多介紹了,有一個關(guān)鍵字需要說說,就是with。
with關(guān)鍵字制定一個對象,后面跟著括在大括號中的一大塊語句。對于塊語句中的每一條語句,沒有指定對象的屬性都將被假定為該對象的屬性。
如:
Js代碼
1.
2. a = "niechao";
3.with(a){
4. window.alert("長度是"+ length)
5. document.write(toUpperCase());
6. }
7.
注:這里不用在定義a的時候帶有類型信息,如String a = “niechao”;這樣會報錯,如果非要加上,也只能是var a = “niechao”;
7.JavaScript中使用第三方程序庫
每個程序庫都有自己的名字,一般的名字是xxx.js,包含到你要用的jsp頁面里就行了。 <
Js代碼
1. script type="text/javascript" language="JavaScript" src="prototype.js">現(xiàn)在流行的有幾種,比如:ext,jquery,dojo等,老一輩的也有prototype這些。選一種合適自己的就行了,自己用著順手的,可以滿足項目需要的,我暫時選的而是jquery。
8.JavaScript中 的事件相應(yīng)
不必使用標(biāo)簽來定義事件處理函數(shù)
可以不在HTML中指定時間處理函數(shù),而是使用JavaScript把一個函數(shù)指定為事件處理函
數(shù)
1.首先找到元素的對象,使用obj = document.getElementById("aa")
2.定義一個函數(shù),把該函數(shù)指定為事件處理函數(shù),
Js代碼
1. function mousealert(){
2. alert("");
3.}
4. bj.onclick = mousealert;
JavaScript中由屬性,方法,事件組成對象,許多常用的事件處理函數(shù)都是document對象中的屬性。
9.JavaScript中使用event對象
要是用event對象,可以把他傳遞給事件處理程序函數(shù)。
Js代碼
1.
2.function getKey(e){
火狐和IE,對event的處理方式不同,火狐是直接自動傳遞的,IE是將最近發(fā)生的事件存放在window.event對象中。
所以很多函數(shù)的開頭,一般都是
Js代碼
1. function getKey(e){
2.if(!e) e=window.event;
3.}
它檢查了是否已經(jīng)定義了e,若未定義,它將獲取window.event對象,并將其存入e,這樣確保任何一個瀏覽器中都會得到一個有效的event對象。
以下是IE4.0及更高版本的一些常用event對象屬性
1.event.button:按下的鼠標(biāo)鍵。對于鼠標(biāo)左鍵,屬性值為1,對于鼠標(biāo)右鍵,屬性值為2
個人心得javascript總結(jié)3
一:javascript的組成
Javascript是一門輕量級的腳本編程語言
由ECMAScript DOMBOM 這三部分組成
1、 ECMAScript(4 5):定義了JS里面的命名規(guī)范,變量,
數(shù)據(jù)類型,基本語法,和操作語句最核心的東西等
2、 DOM document object model 文檔對象模型
3、 BOM browser object model 瀏覽器對象模型
第一塊: ECMAScript
1、命名規(guī)范避開關(guān)鍵字保留字(1、在JS當(dāng)中嚴(yán)格區(qū)分大小 2、駝峰命名法首字母小寫,其他有意義的單詞首字母大寫 3、可以使用數(shù)字字母下劃線和$符號----數(shù)字不能作為首位)
------------------關(guān)鍵字:在JS當(dāng)中有特殊意義的字
保留字:未來可能成為關(guān)鍵字的
2、變量:可變的量
JS當(dāng)中的變量是個抽象的概念,用來存儲值和代表值的! 在JS當(dāng)中定義一個變量非常簡單 var變量名=變量值;
=是賦值操作,左邊是變量名右邊是存儲的值
JS當(dāng)中的變量是松散類型的,通過一個var 變量名就可以存儲任何的數(shù)據(jù)類型!
3、數(shù)據(jù)類型
Js當(dāng)中的數(shù)據(jù)類型的分類
1基本數(shù)據(jù)類型:由簡單的結(jié)構(gòu)組成
數(shù)字number字符串 string布爾booleannull undefined2 引用數(shù)據(jù)類型 :結(jié)構(gòu)相對復(fù)雜一些的
對象數(shù)據(jù)類型:object (數(shù)組和正則都是對象數(shù)據(jù)類型)
函數(shù)數(shù)據(jù)類型:function
具體的數(shù)據(jù)類型詳解
1,number 數(shù)據(jù)類型:整數(shù)負(fù)數(shù) 0小數(shù) NaN (不是一個有效數(shù)但是他屬于number類型的)
NaN==NaN是不相等的
isNaN檢測是不是一個有效的數(shù),是一個有效的`數(shù)返回false 不是一個有效的數(shù)是true ,如果檢測的值不是number類型的瀏覽器會默認(rèn)的轉(zhuǎn)換成number類型的然后在判斷是否是有效數(shù)組isNaN(”123”)先經(jīng)過Number(“123”) 轉(zhuǎn)化成123,Number 強制將其他的數(shù)據(jù)類型轉(zhuǎn)化成number 要求如果是字符串的話一定是數(shù)字才可以轉(zhuǎn)化; 案例:Number(“12px”)=NaN
非強制數(shù)據(jù)類型轉(zhuǎn)化:parseInt parseFloat
parseInt:從左到右一個個查找,把是數(shù)字的轉(zhuǎn)化為有效的數(shù)字,中途如果遇到一個非有效的數(shù)字就不再查找了!
Console.log(parseInt(“12px”));===>12
parseFloat:和上面的一樣只是可以多識別一個.點
console.log(parseInt(“12.333px”));-------------------12
console.log(parseFloat(“12.2333px”));--------------12.2333
案例:var =Number(“12px”);
if(var ==12){
console.log(12);
}else if(var ==NaN){
Console.log(“我是NaN”);
}else{
Console.log(以上倆個條件都不成立);
} 重點2.boolean!一個嘆號是取反,先將值轉(zhuǎn)化為布爾類型值,然后再取反
數(shù)據(jù)類型轉(zhuǎn)化的規(guī)則:
判斷一個值是真是假,只有 null 0 NaN “” undefined 為假其余的值都為真,[] {} 空數(shù)組和空對象都為真
如果倆個值比較,遵循這個規(guī)律:
//val1==val2 倆個值不是同一種數(shù)據(jù)類型的:如果是==進行比較的話會進行默認(rèn)的數(shù)據(jù)類型轉(zhuǎn)化:
1.對象和對象比較永遠不相等 []==[]----false {}=={}---false function fn(){}=function fn(){}-------false 2 對象和字符串先將對象轉(zhuǎn)化為字符串然后在進行比較
[+==”” *+.toString()-----------經(jīng)過toString方法把對象轉(zhuǎn)化為字符串
[]數(shù)組轉(zhuǎn)化為字符串為空字符串 true
{}轉(zhuǎn)化為字符串為“* object Object+” 所以,-==“” ------------false
3,對象==布爾類型對象先轉(zhuǎn)化為字符串(toString())然后在轉(zhuǎn)化為數(shù)字(Number())布爾類型也轉(zhuǎn)化為數(shù)字(true 為1,false為0)
4,對象和數(shù)字 : 對象先轉(zhuǎn)化為字符串(toString())然后在轉(zhuǎn)化為數(shù)字(Number())[]==1false
5數(shù)字和布爾布爾轉(zhuǎn)化為數(shù)字
6,字符串和數(shù)字字符串轉(zhuǎn)化為數(shù)字
7字符串和布爾都轉(zhuǎn)化為數(shù)字
8.null ==undefined true
9.null 和undefined 和其他數(shù)據(jù)類型比較都是false
3 ===這也是比較如果數(shù)據(jù)類型不一樣絕對不相當(dāng)
Null===undefinedfalse數(shù)據(jù)類型不同false
對象數(shù)據(jù)類型:
由多組屬性名和屬性值組成;屬性名和屬性值是用來描述這個對象特征的!
Var obj=,name:”hewenbang”,age:13-;------字面量創(chuàng)建方式
Var obj =new Object();實例的創(chuàng)建的方式,
給一個對象增加一組屬性名和屬性值
Obj.name=”hewenbang”,
Obj*“name”+=”hewenbang”;
修改原有的屬性名和屬性值,規(guī)定一個對象當(dāng)中的屬性名不能重復(fù),如果有的話就是修改,沒有的話就是新增
Obj[“name”]=”zhufengpeixun”;
獲取屬性值:
Console.log(Obj*“name”+);
如果屬性名不存在默認(rèn)返回的結(jié)果是undefined
刪除屬性名字和屬性值:
假刪除:obj[“name”]=null;
真刪除: obj*“name”+;
對象數(shù)據(jù)類中還可以具體的細(xì)分:對象類(Object)數(shù)組類(Array) 正則類(RegExp)時間類(Date)數(shù)學(xué)函數(shù)(Math)字符串類(String)布爾類(boolean)
Var obj={};
Var array=[];
Var reg=/^ww$/;
Js中對象,類和實例的區(qū)別:對象是個泛指,JS中萬物皆對象,類是對對象的具體的細(xì)分,實例是類中一個具體的事物!
自然界中萬物皆對象,可以分為人類植物類低等動物類物體類每一個人都是人類中的一個實例
Function 數(shù)據(jù)類型
Function:函數(shù)數(shù)據(jù)類型相當(dāng)于一個方法或者功能。
個人心得javascript總結(jié)4
js中使用一個變量之前應(yīng)當(dāng)先聲明。變量使用關(guān)鍵字var來聲明。
如果未在var聲明語句中給變量指定初始值,則該變量值為undefined。
不用在聲明變量時指定變量類型,js變量可以是任意數(shù)據(jù)類型。
使用var語句重復(fù)聲明變量是合法且無害的。如果重復(fù)聲明帶有初始化器,則就和簡單的賦值語句沒啥區(qū)別。
如果試圖讀取一個沒有聲明的變量,則js會報錯。在ECMAScript5嚴(yán)格模式下,給一個沒有聲明的變量賦值也會報錯;然而從歷史上來說,在非嚴(yán)格模式下,如果給一個未聲明變量賦值,js實際上會給全局對象創(chuàng)建一個同名屬性,且貌似它工作起來像一個正確聲明的全局變量。這意味著你可以僥幸不聲明全局變量,但這是一個壞習(xí)慣會造成很多bug,最好始終使用var來聲明變量。
在函數(shù)體內(nèi),同名的局部變量會覆蓋全局變量。
盡管全局作用域?qū)懘a可以不寫var語句,但聲明局部變量時必須使用var語句,參考如下代碼:
scope = "global";function foo(){ scope="local" //fk!我們剛剛修改了全局變量!}
在類似C語言的編程語言中,花括號中每一段代碼都有各自的作用域,且變量在聲明它們代碼段之外是不可見的,我們稱之為塊級作用域(block scope);而js中沒有塊級作用域,而是取而代之的使用了函數(shù)作用域(function scope):變量在聲明它們的函數(shù)體以及這個函數(shù)體嵌套的任意函數(shù)體內(nèi)都是有定義的(無論是內(nèi)嵌套還是外嵌套?)
js的函數(shù)作用域指在函數(shù)內(nèi)聲明的所有變量在函數(shù)體內(nèi)始終是可見的,這意味著變量在聲明前甚至可以使用了。js的這個特性非正式的`稱為聲明提前(hoisting),即js函數(shù)里聲明的所有變量(但沒有賦值)都被“提前”至函數(shù)體的頂部。
var scope = "global";function f(){(scope);//輸出"undefined"而不是"global" var scope = "local";//變量在這里賦初始值,但變量在函數(shù)體內(nèi)任何地方均是有定義的(scope);//輸出"local"
以上代碼等價于:
function f(){ var scope;(scope);scope = "local";(scope);}
當(dāng)聲明一個js全局變量時,實際上定義了全局對象的一個屬性。
當(dāng)用var聲明一個變量時,創(chuàng)建的這個屬性時不可配置的,即無法用運算符刪除;但當(dāng)你沒有使用嚴(yán)格模式并給一個未聲明的變量賦值的話,js會自動創(chuàng)建一個全局變量,以這種方式創(chuàng)建的變量是全局對象的正常可配置屬性,是可以刪除的:
var x = 1;y = 2;this。z = 3;//同上x;//返回false,無法刪除變量y;//返回true,變量被刪除this.z //同上。
【個人心得javascript總結(jié)】相關(guān)文章:
軍訓(xùn)個人總結(jié)及心得09-27
個人工作心得總結(jié)06-22
軍訓(xùn)心得個人總結(jié)范文08-25
銷售個人總結(jié)心得通用03-03
軍訓(xùn)個人心得總結(jié)08-29
師德師風(fēng)個人心得總結(jié)文章,師德師風(fēng)個人心得總結(jié)10-31
年末采購個人總結(jié)心得參考11-03