Javascript 使用function定义构造函数_javascript技巧
Javascript中创建对象的语法是在new运算符的后面跟着一个函数的调用。如
var obj = new Object();
var date = new Date();
运算符new首先创建一个新的没有任何属性的对象,然后调用该函数,把新的对象作为this关键字的值传递。
var date = new Date()的伪代码的实现就是
var obj = {};
var date = Date.call(obj);
构造函数的作用就是初始化一个新创建的对象,并在使用对象前设置对象的属性。如果定义自己的构造函数,只需要编写一个为this添加属性的函数就可以了。下面的代码定义了一个构造函数:
function Rectangle(w, h)
{
this.width = w;
this.height = h;
}
然后,可以使用new运算符调用这个函数来创建对象的实例
var rect = new Rectange(4,8);
构造函数的返回值
Javascript中的构造函数通常没有返回值。但是,函数是允许有返回值的。如果一个构造函数有一个返回值,则返回的对象成为new表达式的值。在此情况下,作为this的对象将会被抛弃。
使用构造函数定义法
语法
var object=new objectname();
var -- 声明对象变量
object -- 对象的名称
new -- new的关键词(JavaScript关键词)
objectname -- 构造函数名称
示例
//定义构造函数
function Site(url, name)
{
this.url = "www.jb51.net";
this.name ="梦之都";
}
//使用构造函数产生一个JavaScript对象的实例
var mysite = new Site();
alert(mysite.url);
构造函数通常可以初始化对象中的一些内容,JavaScript内部提供的一些对象通常需要使用构造函数的方法生成。JavaScript函数的内容将在下一章介绍。
直接定义法创建JavaScript对象
//定义对象语法
var object={};
//对象内的属性语法(属性名(property)与属性值(value)是成对出现的)
object.property=value;
//对象内的函数语法(函数名(func)与函数内容是成对出现的)
object.func=function(){...;};
var -- 声明对象变量
object -- 对象的名称
property -- 对象的属性名
func -- 对象的方法名
说明:对象可以包含一些属性(函数可以看作带有括号的特殊属性),每个属性有名称和值。名称可以是任何字符串甚至是空。值可以是任何javascript类型,但不能是undefined。
使用定义法定义的对象示例
var site = {};
site.URL = "www.jb51.net";
site.name = "脚本之家";
site.englishname = "jb51";
site.author = "脚本";
site.summary = "免费的网页设计教程";
site.pagescount = 100;
site.isOK = true;
site.startdate = new Date(2005, 12);
site.say = function(){alert(this.englishname+" say : hello world!")};
site.age = function(){var theage=(new Date().getFullYear())-site.startdate.getFullYear();alert(this.name+"已经"+theage+"岁了!")}
使用构造函数创建JavaScript对象示例 -- 可以尝试编辑
使用构造函数创建JavaScript对象
上面的方法定义了一个site的对象,并且为其定义了七个属性,与两个个方法。
say方法会打印出jb51 say : hello world!的字符串
age方法会计算出梦之都网站的年龄
猴子提示: 注意每个属性与函数前面都要加上对象的名称,否则JavaScript无法判断它是属于那个对象的。
下面的课程将讲解直接定义法的延伸,JSON定义法。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

function是函數的意思,是一段具有特定功能的可重複使用的程式碼區塊,是程式的基本組成單元之一,可以接受輸入參數,執行特定的操作,並傳回結果,其目的是封裝一段可重複使用的程式碼,提高程式碼的可重複使用性和可維護性。

在本文中,我們將了解enumerate()函數以及Python中「enumerate()」函數的用途。什麼是enumerate()函數? Python的enumerate()函數接受資料集合作為參數並傳回一個枚舉物件。枚舉物件以鍵值對的形式傳回。 key是每個item對應的索引,value是items。語法enumerate(iterable,start)參數iterable-傳入的資料集合可以作為枚舉物件傳回,稱為iterablestart-顧名思義,枚舉物件的起始索引由start定義。如果我們忽

MySQL.proc表的功能與功能詳解MySQL是一種流行的關係型資料庫管理系統,開發者在使用MySQL時常常會涉及到預存程序(StoredProcedure)的建立與管理。而MySQL.proc表則是一個非常重要的系統表,它儲存了資料庫中所有的預存程序的相關信息,包括預存程序的名稱、定義、參數等。在本文中,我們將詳細解釋MySQL.proc表的作用與功能

在Python中,每個類別都有一個建構函數,它是類別內部指定的特殊方法。建構函數/初始化程序將在為類別建立新物件時自動呼叫。當物件被初始化時,建構函數將值指派給類別中的資料成員。沒有必要明確定義建構函數。但為了創建建構函數,我們需要遵循以下規則-對於一個類,它只允許有一個建構函數。建構函式名稱必須是__init__。必須使用實例屬性定義建構函式(只需將self關鍵字指定為第一個參數)。它不能傳回除None之外的任何值。語法classA():def__init__(self):pass範例考慮下面的範例並

C++是一門強大的程式語言,但在使用過程中,難免會遇到各種問題。其中,相同的建構函式簽章出現多次就是一種常見的語法錯誤。本文將介紹這種錯誤的原因和解決方法。一、錯誤原因在C++中,建構函式用來建立物件時初始化物件的資料成員。但是,如果在同一個類別中定義了相同的建構函式簽章(即參數型別和順序相同),編譯器就無法確定要呼叫哪一個建構函數,進而造成編譯錯誤。例如,

clearstatcache()函數用於清除檔案狀態快取。 PHP快取以下函數傳回的資訊−stat()lstat()file_exists()is_writable()is_readable()is_executable()is_file()is_dir()filegroup()fileowner()filesize()filetype()fileperms()這樣做是為了提供更好的性能。語法voidclearstatecache()參數NA傳回值clearstatcache(

Vue.use函數的用法和作用Vue是一款流行的前端框架,它提供了許多有用的功能和功能。其中之一就是Vue.use函數,它可以讓我們在Vue應用中使用插件。本文將介紹Vue.use函數的用法和作用,並且提供一些程式碼範例。 Vue.use函數的基本用法非常簡單,只需在Vue實例化之前呼叫它,並傳入要使用的插件作為參數。以下是一個簡單的範例://引入並使用插件

file_exists方法檢查檔案或目錄是否存在。它接受要檢查的檔案或目錄的路徑作為參數。以下是它的用途-當您需要在處理之前知道文件是否存在時,它非常有用。這樣,在建立新檔案時使用此函數即可知道該檔案是否已存在。語法file_exists($file_path)參數file_path-設定要檢查是否存在的檔案或目錄的路徑。必需。返回file_exists()方法返回。如果檔案或目錄存在,則傳回TrueFalse,如果檔案或目錄不存在範例讓我們看一個檢查「candidate.txt」檔案和即使文件
