關于javascript的心得體會
當我們有一些感想時,可用寫心得體會的方式將其記錄下來,如此可以一直更新迭代自己的想法。應該怎么寫才合適呢?以下是小編為大家整理的javascript的心得體會,歡迎閱讀與收藏。
javascript的心得體會 篇1
1、javascript 是一種基于對象,和事件驅動的 并具有安全性的腳本語言;基于對象,動態語言,無需編譯,直接解釋執行;
2、可以放在的地方;
A、<he標識著一個語句的結束。
塊:
大括號{ }通常用來括起一行或多行語句。
注釋:
JavaScript提供了兩種注釋符號:
“//”
“/**/”
JavaScript基本語法—數據類型
JavaScript的數據類型分為基本數據類型和復合數據類型,復合數據類型主要有對象、數組和函數。
簡單數據類型
JavaScript的基本數據類型有數值型、字符型、邏輯型,以及兩個特殊的數據類型。
1.普通數值型
與C、C++、Java等語言不同,JavaScript中的數值包含整數和浮點數。
2.特殊數值型
特殊數值型包括Infinity和NAN。
Infinity表示值超出了可表示的最大值的范圍,而NAN是“not a number”的縮寫形式,表示undefined表達式結果為數值型數據。
3.字符型
在JavaScript中,字符串是一組被引號(單引號或雙引號)括起來的文本。注:JavaScript不對字符和字符串加以區分。
字母、數字與標點可以放在字符串內,但諸如換行符等符號,若要在字符串中使用,必須用到轉義字符。
【常用的轉義字符如下】
【注意】
由于字符串是用單引號或雙引號括起來的,所以當字符串中出現引號時,必須進行轉義,但若單引號內出現雙引號或雙引號內出現單引號時,則無需轉義。
4.Boolean布爾型(true or false)
特殊數據類型
在JavaScript中,有一些是沒有任何類型的變量,稱為undefined,還有一種空值數據類型。
1.無定義數據類型(undefined)
undefinded用來表示不存在的值,或者尚未賦值的變量。
如果只聲明了m,而沒有為其賦值,此時判斷m的類型,就是undefined。如果賦予一個不存在的屬性值,系統也會認為是undefined。
2.空值(null)
null表示空值,是一個“什么都沒有”的占位符。
【null與undefined的區別】
undefined表示一個變量尚未賦值;
null表示該變量被賦予了一個空值。
基本類型與合成類型
基本數據類型在內存中有固定大小,而合成類型(如對象、數組、函數等類型)則可以具有任意長度。因此,不能將合成類型直接存儲在關聯每個變量的固定內存地址中,實際上存儲的只是這個值的引用。
類型轉換
JavaScript是一種無類型語言。在聲明變量時無需指定數據類型,這使得JavaScript具有靈活性和簡單性。在代碼執行過程中,JavaScript會根據需要進行自動類型轉換。 轉換規則
1. 轉換為邏輯型數據
undefined: false
null: false
數值型:若為0或NaN,則結果為false,否則為true
字符串型:若長度為0,則結果為false,否則為true.
其他對象:true
2.轉換為數值型數據
undefined: NaN
null: 0
邏輯型:值為true,則結果為1,值為false,則結果為0
字符串型:若內容為數字,則結果為相應數字,否則為NaN
其他對象:NaN
3.轉換為字符串型數據
undefined: Undefined
null: NaN
邏輯型:若為true,則結果為”true”
提升基本數據為對象
每一個基本數據類型都存在一個相應的對象,這些對象提供了一些很有用的方法來處理基本數據。
例如,String對象提供了一個toLowerCase()方法來把一個字符串轉換為小寫格式。
JavaScript基本語法—變量
JavaScript是一門弱類型的語言,所有的變量定義均以var來定義。
JavaScript的變量應該先定義,再使用。雖然JavaScript可以不需定義即可直接使用變量,但不建議這么做。
類型規則
JavaScript、Java和C這樣的語言之間存在一個重要的差別:JavaScript是無類型的,即JavaScript的變量可以存放任何數據類型的值,而Java和C的變量都只能存放特定類型的數據。
與HTML不同,JavaScript區分大小寫
聲明變量
在JavaScript中,變量使用關鍵字“var”來聲明。聲明變量必須遵循以下規則:
可以使用一個var同時聲明多個變量。
可以在聲明變量的同時對其進行賦值。
如果只是聲明了變量,并未對其賦值,其值默認為undefined。
使用var多次聲明同一變量也是允許的,如果重復聲明的語句已有一個初始值,此時的聲明就相當于對變量的.重新賦值。
JavaScript基本語法—數組
數組定義
var arr = new Array(3);
通過arr.length取得數組的長度
Javascript數組可以越界訪問元素
創建一個數組有以下3種方式:
new Array();
new Array(len);
new Array([item0,[item1,[]]]);
【注意】
數組中的每個元素代表了一個變量,而JavaScript中的變量是沒有類型的,因此數組
元素也是沒有類型的。所以,可以在一個數組中存儲不同類型的數據。
數組使用
使用方式:
myarray=new Array(num)
myarray=new Array(value1,value2)
script language="JavaScript"
aa = new Array(3);
aa[20] = 444;
document.write (aa[20]);
/Script
num不設定,則按數組默認的最大長度自動設定。例如:
Script language="JavaScript"
aa = new Array();
aa[20] = 444;
document.write (aa.length);
/Script
JavaScript基本語法—表達式
表達式
表達式是一個句子,用于JavaScript腳本進行運行、運算的句子。其可以包含常量、變量、運算符等。表達式的結果通常會通過賦值語句賦值給一個變量,或直接作為函數的參數。
JavaScript基本語法—運算符
算術運算符
運算符是在表達式中用于進行運算的一種符號。JavaScript包括+、-、*、/、%等算術運算符。
減號(-)的特殊含義
減號(-)的另外一種用法是對數值或數值型變量求反。
賦值運算符
賦值運算符只有一個等號“=”,其作用是給變量賦值。
比較運算符
比較運算符用來連接操作數用來組成比較表達式,比較表達式的結果為邏輯值trut或false。
常用的比較運算符有:< 、 <=> 、>= 、 != 、 == 、 === 、 !==
補充說明
條件語句中使用=符號
在條件語句中如果誤將“=”用于“==”,程序將不會報錯,但運行結果錯誤。 比較運算符的自動轉換
在比較過程中,“!=”和“==”會進行自動類型轉換,而“!==”和“===”則不轉換。
【注意】
進行相等比較時,如果不希望進行類型自動轉換,則應使用“===”。
邏輯運算符
常用的邏輯運算符:&&、||、!
位運算符
javascript的心得體會 篇2
1.JS類的寫法:
(xx.js)(function($){
function abc()
{
} js.phone_click("this is abc"); js = { }; phone_click : function(personData){ } alert(personData); })(jQuery);
在xx.js文件中JS={}相當于有個JS對象, 只是不需要new去生成對象;
也可將目錄名與對象名命名為一致,以便于引用,{}是類的寫法,此類中可有多個方法,或多個屬性的存在;
屬性的寫法為:userName:”zhangshan”,
方法簽名如:phone_click : function(personData){}
屬性與方法之間用逗號隔開;
在類中不能將方法簽名寫成:function phone_click (personData){},因為類中的描述是以JSON”格式的寫法;也可將js對象理解為“JSON”對象串;
調用時,包名(目錄名)點的形式調用;
2.JavaScript對象的形式寫法:
var obj = new Object();//先生成對象
obj.xxx=false;//添加屬性
obj.test=function(){}//添加方法
///////////////////////////////////////////////////////////////// var obj = {};//聲明對象
obj.xxx=false;//添加屬性
obj.test=function(){}添加方法
也一樣,另外
var obj = function(name,age){//構造函數
this.name=name;//屬性
this.age=age;//屬性
this.test=function(){}//方法
}
解釋“prototype”: 原始類型;
obj.prototype.test2 = function(){}//原形中覆蓋方法; obj.prototype.name = "3333";//原形中覆蓋屬性;
obj.prototype.name = "3333";與obj.xxx=false;的區別; 前者是相當于覆蓋原形中的屬性,后者是對象中添加屬性;
3.普通的方法;
Function alert(){alert(“test”)}
寫在(function($){})(jQuery);中,部調不到,除非是綁定的事件或自定義方法,寫在里面是加載即執行;
4.自定義方法:
(function($){
function abc()
{
} alert($.prop); $.fn.dosh(); $.prop=自定義屬性; $.fn.dosh = function (){ alert(自定義方法); } })(jQuery);
5.類屬性的寫法:
var parameter = {};
parameter.userName = “lishi”;
不能將寫成var parameter = {username=”lishi”;};
6. jQuery插件引用的寫法及區別;
(A).$(function(){
$("#userName").val("abcde");
});
(B).(function($){
$("#userName").val("abcde");
})(jQuery);
A與B的區別:A再DOM加載后執行,B加載即執行(對DOM操作時,保證先加DOM再加載B,否則操作不到對DOM而不會報錯),要是調用不到就不會執行了:
通常使用第二種方法來開發jQuery插件,利用閉包的特性可以避免內部的臨時變量影響到全局,同時通過將jQuery傳進閉包,可以方便的使用$符號。一般使用還是使用第一種方法吧,DOM解析完畢就會執行,一般插件不會具體去寫哪個DOM元素的事件的,因為都是在jQuery導入后導入插件,可以把要操作的DOM對象傳進插件里再實現具體的操作;
7.對象原型中的方法覆蓋(重寫):如;
String.prototype.trim = function()
{
// 用正則表達式將前后空格用空字符串替代。return this.replace( /(^s*)|(s*$)/g, "" ); }
8.query,Ajax請求拼接Json字符串時,value值應加單引號,或雙引號;
如下;
String data = “{id:’no1’,value:’111’}”;
String data = “{id:”no1”,value:”111”}”;
9.方法中的對象聲明的寫法:
Var parameter = {};
parameter.getSystemParam = function(){
//公共參數
parameter.checkXml ={}; 在此方法中,再添加一個對象 }
調用時可寫成:parameter.checkXml.;
10.變量聲明的作用或:
var server = post.html;此變量的作用域是全局變量;
11.屬性數組,對象的聲明:
(function($){
request = $.extend(request, {
entAdd: [],//屬性數組的聲明;
html:{}
/script
javascript的心得體會 篇3
性能對任何編程語言或系統來說都是一個很重要的問題,對JavaScript來說更是如此。
● JavaScript代碼是從服務器原封不動地發送到客戶端的,代碼越大,下載所需的時間和帶寬越多。
● JavaScript在瀏覽器中解釋,而不是編譯好的。
● JavaScript代碼通過DOM API修改HTML頁面來與用戶交互。對JavaScript開發人員來說,這是功能強大的高級模型,但對DOM所做的每個簡單修改都將導致瀏覽器的頁面 渲染引擎執行一系列復雜的操作。對DOM看似細微的修改常常導致需要占用比預期的多得多的CPU周期。
諸如Gmail和基于Ajax的Yahoo! Mail(編寫本書時仍處于測試階段)等Web應用程序都對JavaScript性能提出了挑戰。大量的人力被投入到這些Web應用程序中,它們在最新的 計算機中可能運行順暢,但在較舊的計算機中可能反應遲鈍,而在這些舊計算機中運行相應的桌面應用程序沒有任何問題。
3.2.1 縮短JavaScript的下載時間
大多數編程語言要么是編譯型的,要么在代碼安裝的計算機中運行,或兩者兼而有之。例如,使用諸如Python、PHP或Perl等腳本語言 時,代碼在執行前不需要通過網絡傳輸,而在本地運行。諸如Java等其他語言的代碼被編譯成二進制文件,可在執行前通過網絡傳輸。考慮到這種情況,采用了 大量措施以使二進制格式更加緊湊。
JavaScript不屬于上述任何一種情況,其源代碼及用到的庫將被瀏覽器按原樣下載。因此,JavaScript代碼的總體大小以及如何 將代碼打包為文件對頁面性能的影響巨大,這在剛開始編碼時可能無關緊要,但隨著編寫的代碼和使用的庫越來越多,很快將導致下載頁面使用的 JavaScript代碼時需要相當長的時間。
為最大限度地縮短下載時間,應這樣做:
● 除非每個頁面有不同的JavaScript,否則不要直接將JavaScript代碼放在HTML中,而在HTML中引用JavaScript文件。如果一定要在頁面中包含JavaScript,這樣的代碼不能太長。
● 減少在頁面中包含的JavaScript文件數。不需要走極端,將所有代碼放到一個文件中。包含不超過5個文件是可行的,但如果包含超過20個文件就要三 思而行。這些數字只是象征性的,如果這是個問題,應進行測試看看在單個頁面中使用多少文件將影響網站的性能。
● 減少使用的庫。如果使用大量不同來源的庫,它們的有些代碼很可能是重復的。例如,每個庫都可能包含處理DOM事件的代碼,這是一種浪費,因為這些代碼可以 共享。選擇一個能夠解決大量問題且模塊化的庫,這樣可只包含所需的子集。使用來自一個主要庫的代碼還有其他好處:將減少依賴關系,從而降低不兼容的可能 性;升級到新版本更容易;通常來說,大型庫將獲得更大社區的支持,因此更新更頻繁,新特性更多。本章后面的內容將更詳細地介紹JavaScript庫。
很多庫都會發布其代碼的兩個版本:完整版和精簡版。
● 完整版適合用于閱讀和修改庫的代碼。它包含縮進和注釋,對開發人員來說可讀性更高。
● 精簡版適合用于部署網站。這種版本是基于完整版自動創建的:刪除了注釋和縮進;通常所有代碼位于一行中;有時候不暴露的變量被重命名為很短(而晦澀)的名稱。
部署網站時,務必使用精簡版。根據自己編寫的代碼長度,可能要使用工具創建JavaScript文件的精簡版。這樣的工具有很多,其中包括開源(GPL)的ECMAScript Cruncher(ESC)。
3.2.2 最大限度地減少DOM更新
為完成任何有趣的工作,代碼必須修改DOM。然而,修改DOM的開銷非常高。顯然,為處理修改頁面內容的DOM API調用,瀏覽器必須做大量工作。更令人驚訝的是,調用不修改頁面的方法(如注冊)可能非常慢。
另外,請注意遍歷大量DOM對象的代碼,如遍歷documet.all以查找特定元素的代碼或document. getElementByName()。這些代碼的執行時間將隨頁面的增大而增長。
【關于javascript的心得體會】相關文章:
關于師德師風的心得體會02-16
關于初中的軍訓心得體會01-22
關于護士的工作心得體會01-10
關于學法用法的心得體會范文01-18
關于寒假兼職的心得體會范文12-24
關于銷售工作情況的心得體會02-18
關于中國女足奪冠的心得體會02-10
關于教育孩子的心得體會15篇12-27
關于高效課堂心得體會12-28
關于讀《小王子》的心得體會八篇02-21