JavaScript是一門廣受歡迎的編程語言,它的特性之一就是一切皆為對象。這種特性使得JavaScript非常靈活,支持面向?qū)ο缶幊?,同時也讓我們可以在代碼中調(diào)用各種內(nèi)置或自定義對象。下面我們來看看這個“一切是對象”在JavaScript中的體現(xiàn)。
// 數(shù)字對象 var num = 1; console.log(num.toExponential()); // 1e+0 // 字符串對象 var str = "Hello World!"; console.log(str.charAt(0)); // H // 數(shù)組對象 var arr = [1, 2, 3]; console.log(arr.length); // 3 // 函數(shù)對象 function add(a, b) { return a + b; } console.log(add(1, 2)); // 3
在JavaScript中,我們可以像調(diào)用對象方法一樣來調(diào)用數(shù)字、字符串、數(shù)組等基本數(shù)據(jù)類型。這是因為在JavaScript中,這些基本數(shù)據(jù)類型都有對應(yīng)的對象類型(即數(shù)字對象、字符串對象、數(shù)組對象等)。這些對象包含了豐富的內(nèi)置方法和屬性,可以讓我們輕松地操作它們。
除了基本數(shù)據(jù)類型,JavaScript還支持許多內(nèi)置對象,例如Date對象、RegExp對象、Math對象等等。這些對象同樣包含了各種方法和屬性,可以幫助我們完成日常編程任務(wù)。下面是一些內(nèi)置對象的例子:
// Date對象 var now = new Date(); console.log(now.getFullYear()); // 2022 // RegExp對象 var reg = /hello/i; console.log(reg.test("Hello World!")); // true // Math對象 console.log(Math.random()); // 0.8812374873904629
此外,JavaScript還支持創(chuàng)建自定義對象。我們可以通過構(gòu)造函數(shù)或?qū)ο笞置媪康姆绞絹韯?chuàng)建一個新的對象,并在其中定義自己的屬性和方法。例如:
// 構(gòu)造函數(shù)創(chuàng)建對象 function Person(name, age) { this.name = name; this.age = age; this.sayHello = function() { console.log("Hello, my name is " + this.name); } } var p1 = new Person("John", 30); p1.sayHello(); // Hello, my name is John // 對象字面量創(chuàng)建對象 var p2 = { name: "Tom", age: 25, sayHello: function() { console.log("Hello, my name is " + this.name); } }; p2.sayHello(); // Hello, my name is Tom
在JavaScript中,我們可以將函數(shù)視為對象,函數(shù)也可以有自己的屬性和方法。這種特性使得JavaScript可以支持面向?qū)ο缶幊?,我們可以定義類、實例化對象、繼承等等。下面是一個簡單的例子:
// 定義類 function Animal(name) { this.name = name; } // 定義方法 Animal.prototype.sayHello = function() { console.log("Hello, my name is " + this.name); } // 實例化對象 var cat = new Animal("Kitty"); cat.sayHello(); // Hello, my name is Kitty // 繼承類 function Bird(name) { Animal.call(this, name); } Bird.prototype = Object.create(Animal.prototype); Bird.prototype.constructor = Bird; // 實例化對象 var parrot = new Bird("Polly"); parrot.sayHello(); // Hello, my name is Polly
總之,在JavaScript中,一切皆為對象。這種特性使得JavaScript可以支持很多靈活的編程方式,從而可以讓我們更好地實現(xiàn)各種功能。