當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript类型·对象·函数
生活随笔
收集整理的這篇文章主要介紹了
JavaScript类型·对象·函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ECMAScript是一種由Ecma國際通過ECMA-262標準化的腳本程序設計語言,它往往被稱為JavaScript或JScript,但實際上后兩者是ECMA-262標準的實現和擴展。
ECMAScript對象
定義為“屬性的無序集合,每個屬性存放一個原始值、對象或函數”
- 對象由特性attribute構成,特性可以是原始值,也可以是引用值。如果特性存放的是函數,它將被看作對象的方法method,否則該特性被看作對象的屬性property。
- ECMAScript中的所有對象的所有屬性和方法都是公用的。
ECMAScript對象類型
- 本地對象:獨立于宿主環境的ECMAScript實現提供的對象,即引用類型。
- 內置對象:由ECMAScript實現提供的、獨立于宿主環境的所有對象,在ECMAScript程序開始執行時出現的,即Global和Math,每個內置對象都是本地對象。
- 宿主對象:所有非本地對象都是宿主對象host object,即由 ECMAScript實現的宿主環境提供的對象。所有BOM和DOM對象都是宿主對象。
JavaScript創建對象
//混合構造函數和原型方式 function Person(name,age){//構造函數中定義的屬性,這些屬性每次創建對象都會被創建一次this.name=name;this.age=age;this.friends=new Array("Mike","John"); } Person.prototype.showFriends=function(){//原型方式中定義的屬性,這些屬性只會被創建一次,alert(this.friends); } //動態原型 function Person(name,age){this.name=name;this.age=age;this.friends=new Array("Mike","John");if(typeof Car._initialized==="undefined"){Car.prototype.showFriends=function(){alert(this.friends);}}Car._initialized=true; }數據類型type
- 原始類型primitive type
- Number:不區分整數和浮點數。
- String:以單引號'或雙引號"括起來的任意文本。
- Boolean:只有true、false兩種值。
- Null:只有一個專用值null。
- Undefined:只有一個值,即undefined。當聲明的變量未初始化時,該變量的默認值是undefined。
- 引用類型(本地對象)
- Object,Function,Array,...
- String,Boolean,Number,Date,RegExp,...
- Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,...
函數Function
ECMAScript的函數實際上是功能完整的對象。
函數名只是指向該函數對象的引用值(地址)。
盡管可以使用Function構造函數創建函數,但最好不要使用它,因為用它定義函數比用傳統方式要慢得多。不過,所有函數都應看作Function的實例。
閉包
指的是詞法表示包括不被計算的變量的函數,也就是說,函數可以使用函數之外定義的變量。
var sMessage = "hello world"; function sayHelloWorld() {//sayHelloWorld()函數根本不接受參數,它使用的值是從執行環境中獲取的。alert(sMessage); } sayHelloWorld();該腳本被載入內存后,并沒有為函數sayHelloWorld()計算變量 sMessage的值。該函數捕獲sMessage的值只是為了以后的使用,也就是說,解釋程序知道在調用該函數時要檢查sMessage的值。sMessage將在函數調用sayHelloWorld()時(最后一行)被賦值,顯示消息"hello world"。
轉載于:https://www.cnblogs.com/jiehuifang/p/7691919.html
總結
以上是生活随笔為你收集整理的JavaScript类型·对象·函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Django的时区设置TIME_ZO
- 下一篇: Django 前后台的数据传递