JavaScript中,使用`new`關鍵字主要做了以下幾件事情,來創建一個對象的實例:
首先,`new`關鍵字會創建一個空的JavaScript對象(`{}`)。
接著,這個新創建的對象的`__proto__`屬性會被賦值為構造函數的`prototype`屬性。這意味著新對象會繼承構造函數原型上的方法和屬性。
構造函數內部的`this`被綁定到新創建的對象上。這意味著在構造函數內部,你可以使用`this`來引用新創建的對象,以便添加屬性或方法。
`new`關鍵字會執行構造函數中的代碼,根據需要初始化對象。
默認情況下,構造函數會自動返回這個新創建的對象。但是,如果構造函數顯式返回一個對象,則會返回該對象;如果返回非對象(如基本類型),則忽略該返回值,而是返回新創建的對象。
這個過程可以用下面的代碼示例來說明:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
console.log('Hello, my name is ' + this.name + ' and I am ' + this.age + ' years old.');
};
}
// 使用new關鍵字創建Person的一個實例
var person1 = new Person('Alice', 30);
// 使用剛創建的對象
person1.greet(); // 輸出: Hello, my name is Alice and I am 30 years old.
- 創建了一個空對象``
- 將這個空對象的`__proto__`指向了`Person.prototype`,使它能夠訪問到`Person.prototype`上定義的任何屬性或方法
- 將`this`綁定到新創建的空對象上,這樣構造函數內部就可以使用`this`來引用這個對象
- 執行`Person`構造函數內部的代碼,給新對象添加了`name`、`age`屬性和`greet`方法
- 返回這個新創建的對象,賦值給`person1`變量
讀本文約需要10分鐘,您可以先關注我們,避免下次無法找到。
本篇文章成哥繼續帶大家來學習前端教程之JavaScript,網頁的動態事件基本上都是靠它來實現的。下面我們就一起來學習內容吧!
JavaScript通常縮寫為 JS,是一種高級的,解釋執行的編程語言。
JavaScript 是一門基于原型、函數先行的語言,是一門多范式的語言,它支持面向對象編程,命令式編程,以及函數式編程。它提供語法來操控文本、數組、日期以及正則表達式等,不支持 I/O,比如網絡、存儲和圖形等,但這些都可以由它的宿主環境提供支持。
它已經由 ECMA(歐洲計算機制造商協會)通過 ECMAScript 實現語言的標準化。
它被世界上的絕大多數網站所使用,也被世界主流瀏覽器(Chrome、IE、Firefox、Safari、Opera)支持。
JavaScript具有如下特點:
1)JavaScript是一種動態語言,用于在客戶端設計網頁。
2)它是區分大小寫的語言。
3)它是非類型語言,即變量可以保存任何類型的值,Python語言也有相同的特點。
JavaScript的語句可以寫在HTML文件中,也可以單獨寫在.js文件中,其具體如下所示
1)HTML文件
JavaScript寫在HTML文件中時必須寫在HTML文件中的'script'標簽中,下面我們在HTML文件中通過JavaScript輸出"Hello World",具體示列如下
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <meta charset="UTF-8">
5. <title>JavaScript基礎教程</title>
6. </head>
7. <body>
8. <script>
9. document.write("Hello World from JavaScript!<br>");
10. </script>
11. </body>
12. </html>
2)js文件
現在我們創建一個單獨的js文件,然后在HTML文件中應用具體示列如下:
1. // js文件
2. document.write("Hello World from JavaScript!<br>");
3.
4. // html文件
5. <!DOCTYPE html>
6. <html>
7. <head>
8. <meta charset="UTF-8">
9. <title>JavaScript基礎教程</title>
10. </head>
11. <body>
12. <!-- 引入js文件 -->
13. <script src="test.js"></script>
14. </body>
15. </html>
(1)JavaScript關鍵字
JavaScript包含了許多關鍵字,我們在編寫語句時要注意避開這些關鍵字,以免引起不必要的錯誤。其常用關鍵字如下表所示:
(2)JavaScript數據類型
JavaScript包含了三種數據類型具體如下:
1)數值類型,如'123,12.1'在JavaScript中所有的數值類型其實都是浮點數
2)字符串類型,如'JavaScript基礎教程'
3)布爾類型,如'true, false'
(3)JavaScript變量
JavaScript的變量一般用var這個關鍵字來定義,在ES6中變量一般用let定義。JavaScript是非類型化語言,即變量可以包含任何數據類型。JavaScript具體變量使用示列如下:
1. // 1.js文件
2. // document會在文章渲染后再執行,所以看到其在js文件中是在前面,但HTML頁面輸出的內容在最后
3. document.write("Hello World from JavaScript!<br>");
4.
5. // 定義變量your_name與age
6. var your_name = "成哥";
7. var age = 30;
8. // 在HTML中找到p_name的id標簽,然后在內部插入html內容
9. document.getElementById("p_name").innerHTML= "Hello "+ your_name + "<br>Age : " + age;
10.
11. // 2. HTML文件
12. <!DOCTYPE html>
13. <html>
14. <head>
15. <meta charset="UTF-8">
16. <title>JavaScript基礎教程</title>
17. </head>
18. <body>
19. <p id='p_name'></p>
20. <script src="test.js"></script>
21. </body>
22. </html>
我們還可以通過prompt方法獲取用戶在頁面的輸入的變量具體示列如下
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <meta charset="UTF-8">
5. <title>JavaScript基礎教程</title>
6. </head>
7. <body>
8. <script>
9. // prompt方法用于獲取用戶在頁面輸入的內容
10. var x = prompt("請輸入一個數字,計算其10倍的結果");
11. document.write("其10倍結果為:10 * ", x, " = ", 10*x + "<br>");
12. </script>
13. </body>
14. </html>
(4)JavaScript運算符
1)算術運算符
2)賦值運算符
3)比較運算符
4)條件運算符
JavaScript的條件運算符為問號加冒號組合(?:),其規則是問號前面條件是否為true如果為true則執行冒號前面的表達式,如果為false則執行冒號后面的表達式,具體如下:
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <meta charset="UTF-8">
5. <title>JavaScript基礎教程</title>
6. </head>
7. <body>
8. <script>
9. // prompt方法用于獲取用戶在頁面輸入的內容
10. var x = prompt("請輸入一個數判斷其是奇數還是偶數");
11. // 通過條件運算符來進行判斷奇偶數
12. var result = x % 2 === 0 ? '偶數': '奇數';
13. document.write("數值(", x, ")為", result);
14. </script>
15. </body>
16. </html>
5)邏輯運算符
(5)類型轉換
1)字符串傳數值類型
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <meta charset="UTF-8">
5. <title>JavaScript基礎教程</title>
6. </head>
7. <body>
8. <script>
9. // 字符串轉數值型通過Number方法實現
10. document.write("2 + Number('3.4') = ", 2 + Number('3.4'), "<br>");
11. </script>
12. </body>
13. </html>
2)整型轉換
浮點的數值類型與字符串的數值類型可以通過parseInt方法轉成整形具體示列如下:
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <meta charset="UTF-8">
5. <title>JavaScript基礎教程</title>
6. </head>
7. <body>
8. <script>
9. // 整型轉換
10. document.write("2 + parseInt('3.4') = ", 2 + parseInt('3.4'), "<br>"); // 字符串轉整型
11. document.write("2 + parseInt(3.4) = ", 2 + parseInt(3.4), "<br>"); // 浮點數轉整型
12. </script>
13. </body>
14. </html>
3)浮點數轉換
數值型字符串與數值類型可以通過parseFloat方法轉成浮點數,具體示列如下
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <meta charset="UTF-8">
5. <title>JavaScript基礎教程</title>
6. </head>
7. <body>
8. <script>
9. // 浮點數轉換
10. document.write("2 + parseFloat('3.4') = ", 2 + parseFloat("3.4"), "<br>");
11. </script>
12. </body>
13. </html>
(6)字符串方法
JavaScript內置了好多針對字符串操作的方法,下面我們就演示一些常用的字符串方法具體示列如下:
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <meta charset="UTF-8">
5. <title>JavaScript基礎教程</title>
6. </head>
7. <body>
8. <script>
9. // 字符串示例
10. document.write("hello".toUpperCase(), "<br>") // 轉換為大寫字母
11. w = "JavaScript"
12. document.write(w.toLowerCase(), "<br>") // 轉換為小寫
13. document.write(w.small(), "<br>") // 變小字體
14. document.write(w.bold(), "<br>") // 變粗字體
15. document.write(w.strike(), "<br>") // 給文字加上橫線
16. document.write(w.fontsize("5em"), "<br>") // 設置字號大小
17. document.write(w.link("http://www.baidu.com"), "<br>") // 給其增加url鏈接
18. document.write(w.fontcolor("red").fontsize("12em"), "<br>") // 連續使用多個方法設置
19. </script>
20. </body>
21. </html>
(7)數組
JavaScript的數組類型可以包含不同的數據類型,比如一個數組同時包含字符串與數值類型,其跟Python非常類似,具體使用示例如下:
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <meta charset="UTF-8">
5. <title>JavaScript基礎教程</title>
6. </head>
7. <body>
8. <script>
9. // 數組示例
10. arr = [15, 30, "Meher"]
11.
12. // 遍歷數組方式一:
13. document.write("遍歷數組方式一:", "<br>");
14. for(a in arr)
15. document.write(arr[a], " ");
16. document.write("<br>");
17.
18. // 遍歷數組方式二:
19. document.write("遍歷數組方式二:", "<br>");
20. for (var i=0;i<arr.length;i++){
21. document.write(arr[i], " ");
22. }
23. document.write("<br>");
24.
25. document.write(arr.pop(), "<br>"); // 移除數組最后一個元素
26. arr.push("JavaScript"); // 在數組最后增加一個元素
27. document.write(arr.pop(), "<br>");
28. document.write("該數組長度為: ", arr.length, "<br>");
29. </script>
30. </body>
31. </html>
至此我們《JavaScript基礎教程上篇》就講完了,下篇內容主要講解JavaScript的控制語句、函數編程及異常處理等相關知識,敬請期待。最后如果喜歡本篇文章不要忘了點贊、關注與轉發哦!
-END-
@IT管理局專注計算機領域技術、大學生活、學習方法、求職招聘、職業規劃、職場感悟等類型的原創內容。期待與你相遇,和你一同成長。
文章推薦:
、 結構
一、標記<Html> 建立HTML文檔
<Head> 設置網頁頭部和其它信息
<Body> 設計文件格式及內文所在<Body> 元素的屬性
Text 設置頁面文字的送顔色 Bgcolor 設置頁面背景的顡色
Background 設置頁面的背景圖像 Link設置頁面黙認的顔色
Bgproperties 設置頁面的背景圖像為固定,不隨頁面的滾動而滾動
Alink 設置鼠標正在單擊時候的鏈接顔色 Vlink 設置訪問過后的鏈接顔色
Topmargin 設置頁面的上邊距 Leftmargin 設置頁面的左邊距
二、頭部
標記 <Base> 當前文檔的URL全稱 <Title>設置顯示在瀏覽器在上方的標題內容
<Isindex> 表明該文檔是一個可用于檢索的網關腳本
<Meta> 有關文檔本身的信息,例如用于查詢的關鍵詞,用于獲取該文檔的有效期等
<Style> 設置CSS層疊樣式表的內容
<link> 設置外部文件的鏈接 <script> 設置頁面中程序腳本的內容
<Mate> 標記屬性
Http-Equiv 生成一個HTTP標題域,它的取值與另一個屬性相同,
例如Http-Equiv=Expires,實際取值由Content確定
Name 如果元數據是以關鍵字/取值的形式出現的,Name 表示鍵字,
如Author或ID
Content 關鍵字/取值的內容
三、文字
文字標記 <HNumber>……<1HNumber> Number=1.2.3.4.5.6
分別指1至6級標題
<Font>文字
文字的修飾標記 <B>/<strong> 粗體 <I>/<Em>/<cite> 斜體
<Sup>上標 <sub>下標 <Big>大字號 <small>小字號
<U>下劃線 <S>/<strike>刪除線 <Address>地址
<Tt>打字機文字 <Blink>閃爍文字(只適用于Netscape瀏覽器)
<Code>/<samp>等寬 <kbd>鍵盤輸入文字 <Var>聲明變量
<Fant>標記的屬性
Face 字體 Size字號 Color顔色
四.列表
列表標記 <Ul>無序列表 <Ol>有序列表 <Dir>回錄列表 <Dl>定義列表
<Meru>菜單列表 <Dt>·<Dd>定義列表的標記 <Li>列表項目的標記
<Ul><Ol>標記的屬性 Type設置列表類型 start設置列表起始屬性
Type的屬性值 1 數字 a 小寫字母 A 大寫字母 i小寫羅馬數字
I 大寫羅馬數字 Disc ● Circle ○ square □
五.鏈接
鏈接標記 <A> 鏈接
<A>標記的屬性 Href 指定鏈接地址 Name給鏈接命名
Title設置鏈接提示文字 Target指定鏈接的目標窗口
Target屬性值 -parent在上一級窗口中打開。一般使用分幀的框架頁會經常使用
-bank在新窗口中打開
-self在同一個幀或窗口中打開.這項一般不用設置
Href屬性值 http:// 進入萬維網站點 news://啟動新聞討論
ftp:// 進入文件傳輸服務器 mailto:// 啟動新聞討論組
telnet:// 啟動telnet方式 gopher://訪問一個gopher服務器
六.圖片
圖片標記 <Img>圖片 <Map>圖像映射 <Area>圖像映射中定義區域
<lmg>標記的屬性 src圖像的源文件 Alt提示文字 Width寬度
Height高度 Vspace垂直間距 Hspace水平間距 Align排列 Border邊框
Align屬性值 Top文字的中間線居于圖片上方 Middle文字的中間線居于圖片中間
Bottom文字的中間線居于圖片底部 Left 圖片在文字的左側
Right圖片在文字的右側 Absbottom文字的底線居于圖片底部
Absmiddle文字的底線居于圖片中間 Baseline英文文字基線對齊
Texttop英文文字上邊線對齊
Shape屬性值
Rect矩形區域 Circle橢圓形區域 Poly多邊形區域
七.表格
1.表格標記 <Table>…</Table>表格標記 <Tr>…</Tr>行標記
<Td>…</Td>單元格標記 <Th>表頭標記
<Table>標記屬性 Bordercolor 表格邊框色 Borde表格邊框的寬度
Bordercolorlight 表格邊框亮邊框色(左上邊框顔色)
Bordercolordark 表格暗邊框色(右下邊框顔色)
Bordercolor 行的邊框顔色 Width表格的寬度 Height表格的高度
Bgcolor表格的背景顔色 Background表格的背圖像
<Tr>標記屬性 Align行內容的水平對齊 Valign 行內容的垂直對齊
Bgcolor 行的背景顔色 Background 行的背景圖像
Bordercolor 行的邊框顔色 Bordercolorlight 行的亮邊框顔色
Bordercolordark 行的暗邊框顔色
<Td>標記屬性 Align單元內容的水平對齊 Valign單元格內容的垂直對齊
Bgcolor 單元格的背景顔色 Background 單元格的背景圖像
Bordercolor單元格的背景顔色 Bordercorlorlight單元格的亮邊框顔色
Brodercolordark 單元格的暗邊框顔色 Width 單元格的寬度
Height單元格的高度
<Th>標記屬性 Align表頭內容的水平對齊 Valign表頭內容的垂直對齊
Bgcolor 表頭的背景顔色 Background表頭的背景圖像
Bordercolor表頭的邊框顔色 Bordercolorlight 表頭的亮邊框顔色
Bordercolordark 表頭的暗邊框顔色 Width 表頭的寬度 Height 表頭的高度
八.表單
1.表單標記 <Form>表單標記 <Input>表單輸入標記
<select>菜單和列表標記 <Option>菜單和列表項目標記
2.屬性 <Form> Name表單的名稱
Method 定義表單結果從瀏覽器傳送到服務器的方法,一般有兩種方法:get,post
Action 用來定義表單處理程序(一個Asp,CGI等程序)的位置(相對地址或絕對地址)
<lnput>標記屬性 Name 域的名稱 Type域的類型
Maxlength 域的最大輸入字符數 size域的寬度 Value 域的默認值
<Select>標記屬性 Name 菜單和列表的名稱 size 顯示的選項數目
Multiple 列表中的項目多選 Value 選項值 selected默認選項
<Texrarea>標記屬性 Name 文字域的名稱 Rows文字域的行數
Cols 文字域的列數 Value 文字域的默認值
Type屬性值 Text 文字域 Password 密碼域 File 文件域
Checkbox復選框 Redio單選框 Button普通按扭
Submit 提交按鈕 Reset重置按鈕 Hidden隱藏域Image圖像域
九.滾動
滾動標記 <Marquee>
<Marquee>標記屬性 Direction 滾動方向 up 文字向上滾動 Left文字向左滾動
Behavior 滾動方式 Scroll 循環往復
Side 只做一次滾動
Alternate 交替進行滾動
ScrollAmount 滾動速度
ScrollDelay 滾動延遲
Trim函數用來剔除首尾空格
十.框架
1.標記 <Frameset> 框架邊框標記 <Frame> 框架標記 <Iframe>浮動框架標記
<Frameset>標記屬性 Cols列 Rows行
<Frame> 標記屬性 src框架中顯示頁面源文件的路徑
FrameBorder 框架邊框顯標屬性 FrameSpacing框架邊框寬度屬性
Scrolling框架滾動條顯示屬性 NoResize 框架尺寸調整屬性
BorderColor 框架邊框顔色屬性 MarginWidt 框架邊框緣寬度屬性
MarginHerght框架邊緣高度屬性
<1frame> 標記屬性 src浮動框架中顯示頁面源文件的路徑
Width 浮動框架的寬度 Height 浮動框架的高度
Name 浮動框架的名稱
Align 浮動框架的排列方式 Left表示居左 Center表示居中 Right表示居右
FrameBorder 框架邊框顯示屬性 FrameSpacing 框架寬度屬性
Scrolling 框架滾動條顯示屬性 ( yes顯示 No不顯示 Auto根據頁面的長度自動判斷是否晶粒示滾動條
NoResize 框架尺寸調整屬性 BorderColor框架的顔色
MarginWidth 框架邊緣寬度屬性 MarginHeight 框架邊緣高度屬性
插入刷新
步驟:1.選擇"查看/文件頭內容"
2.在插入面板上,打開HTML選項卡
優化代碼
打開文件窗口,執行"命令、清理HTML"命令
文本換行:Enter 行距較大
Enter + Shift 行距較小
插入水平線設置顔色:單擊屬性面板中的快捷標簽編輯器按鈕
在代碼中鍵入"color = #顔色值"
當圖像無法顯示時將顯示這段文字:
圖像屬性中的替代→輸入文字
插入鼠標經過圖像:準備兩張圖像
在文件窗口中,將光標放置于需要翻轉圖像位置→插入工具欄中單擊鼠標經過圖像
Ⅱ.使用導航條:
在"常用"對象組中,單擊"圖像"小三角→導航條
插入圖像占位符:圖像小三角→圖像占位符
Flash動畫的背景實現透明 參數wmode 值 transparent
插入 Java Applet
插入表單
插入表單域:對象面板上"表單"→插入表單
插入文本域:單擊面板上的插入文本域. 初始值 = 打開時顯于的文字
插入密碼框:在屬性面板上選擇密碼
插入多行文本域:在類型后選擇多行
插入隱藏域:對象面板→插入隱藏域
插入按鈕:標簽用來設置按鈕上顯示的文本
插入圖像提交按鈕=圖像域:
插入文件上傳按鈕=文件域:
插入單選框
插入單選按鈕組:Label文字說明 Value 單選按鈕的值
插入復選框
菜單/插入列表:列表值→
插入跳轉菜單:(
制作網頁鏈接
URL統一資源定位器
目標:_blank在一個新的未命名的瀏覽器窗口中打開
_parent如果是嵌套的框架,鏈接會在父框架或窗口中打開,否則=_top
_top在完整的瀏覽器中打開
創建搜索頁
運行中輸入:
Inetmgr (IIS
Odbcad32 (odbc
Asp對象
Applicatipn 在給定的應用程序的所有用戶間共享信息,并在服務器運行期間持久地保存數據。
集合: Contents
staticObjects
Item(變量值)=設置資料變量的值
Key(變量名稱)=設置資料變量的名稱
Count(變量資料的數量)=表示
Coutents集合中資料的總數量
方法: Lock
Unlock
事件: Applicatipn_Onstart
Application_OnEnd
Session 存儲特定的用戶會話所需的信息
屬性:CodePage
LCID
SessionID
Timeout
集合:Contents
StaticObjects
方法:Abandon
事件:Session_Onstart
Session_OnEnd
Response 用來控制發送給用戶的信息,包括直接發送信息給瀏覽器,重定位瀏覽器到另一個URL或設置Cookie值
屬性: Buffer
CacheControl
Charset
ContentType
Expires
ExpiresAbsolute
IsClientConnected
PICS
Status
集合: Cookies
方法: AddHeader
AppendToLog
BinaryWrite
Clear
End
Flush
Redirect
Write
Request 訪問任何基于HTTP請求傳遞的信息,常見的有從HTML表單用Post方法或Get方法傳遞的參數,Cookie或用戶認證等。
屬性: TotalBytes
集合: ClientCertificate
Cookies
Form
QueryString
ServerVaiables
方法: BinaryRead
Server 提供對服務器方法和屬性的訪問
屬性: ScriptTimeout
集合: 無
方法: CreatObject
HTMLEncode
MapPath
URLEncode
Recordset
MoveNext 將前數據記錄移至下一條
MovePrevious 將當前數據記錄移至上一條
MoveFirst 將當前數據記錄移至第一條
MoveLast 將當前數據記錄移至最后一條
AbsolutePosition=N 將當前數據記錄移至第N條
EOF 當前數據記錄是否移過了最后一條(發生于向下移動時)
BOF 當前數據記錄是否移過了第一條 (發生于向上移動時)
VBScript 運算符
算術運算符
指數 取負 乘法 除法 加法 減法 取模 連接 整數除法
∧ - * / ﹢ ﹣ Mod & \
比較運算符
相等 不相等 小于 大于 小于或等于 大于或等于 對象相象
= <> < > <= >= IS
邏輯運算符
邏輯非 邏輯與 邏輯或 異或 邏輯等于 邏輯蘊含
Not And Or Xor Eqv Imp
*請認真填寫需求信息,我們會在24小時內與您取得聯系。