1. 程式人生 > >javascript中在定義函式的幾種形式

javascript中在定義函式的幾種形式

內容主要是講述javascript在類(原型物件)中定義方法的幾種形式,簡要之主要有三種:this關鍵字、prototype關鍵字、var 物件名={name:value,name2:value2};這三種形式。

在publicFunction.js檔案中定義js函式。在call.html檔案中呼叫函式。

各個檔案的位置如下圖所示:

publicFunction.js檔案中的程式碼如下:

/**
 * javascript中如何在類(在javascript中類也叫原型物件。)中定義公共的方法呢?
 * 有三種方式:
 * 第一種用:this關鍵字。
 * 第二種用:prototype
 * 第三種用js專有的定義屬性和方法的形式:var 物件名={name:value,name2,value2,name3:value3,....};
 * 順便說一下,定義私有方法和私有變數:直接在類中寫var=....即可,詳細情況看下面程式碼即可。
 */
//首先是第一種方法:this關鍵字。
 //定義Dog這個類
 function Dog() {
     var sixi="village"//定義一個私有變數
         //定義一個私有的函式:
         function show() {
              alert("ouyangfeng");
         }
    this.mountain="fragantMountain";//定義一個公共變數
     //定義一個公共方法name()這是用this關鍵字定義的。
      this.name=function(petname) {
           document.writeln(petname);
           show();//在公共函式內呼叫私有方法。
      }
 }
 //用prototype定義一個公共的方法
 Dog.prototype.master=function(masterName) {
      window.alert("the dog's master is :"+masterName);
 }
 //用js特有的定義公共方法和屬性的方式:
 var dog={name:"小花",//定義變數name="小花"。相當於this定義中的this.name="小花"。
          //定義一個chief()這個公共函式。
          chief:function() {
      document.writeln("ouyangfeng is a chief village of sixi");
 },
 //定義一個rapeFlower這個公共函式:
 rapeFlower:function() {
        document.writeln("the rape flower is so beautiful ,I have never seen");
 }
 };

call.html檔案中的程式碼如下:

<html>
    
    <head>
        <!-- 把 publicFunction.js這個檔案匯入進來,相當於java中的import
        特別說明一下src的路徑我直接寫為publicFunction.js,是因為這個call.html檔案與它在同一目錄下。
        如果不是在同一目錄下,可以用相對路徑寫。
        在相對路徑中:
        /  代表本級目錄
        ../代表上一級目錄
        ../../代表上上一級目錄。那麼上上上級目錄可以以此類推。
        -->
        <script type="text/javascript" src="publicFunction.js"></script> 
        <script type="text/javascript">
            <!--
            //下面是呼叫publicFunction.js這個檔案中的方法和變數。
                //建立一個Dog類的例項。
                var d=new Dog();
                var m=d.mountain;//呼叫Dog類中的Mountain公共變數:
                document.writeln(m);//輸出這個變數。
                d.master("ouyangfeng");//呼叫master這個方法。
                d.name("leopard");//呼叫name()這個方法。
                /**
                呼叫publicFunction.js檔案中的這個公共方法:var dog={};
                */
                var na=dog.name;//呼叫name這個變數。
                document.writeln(na);//輸出這個變數。
                dog.rapeFlower();//呼叫rapeFlower這個方法
                dog.chief();//呼叫chief這個方法。
            //-->
        </script>
    </head>
</html>

相關推薦

簡要描述 JavaScript 定義函式方式

JavaScript 中,有三種定義函式的方式: 1、函式語句:即使用 function 關鍵字顯式定義函式。如: function f(x){ return x+1; } 2、函式定義表示式

javaScript常見的報錯類型

變量類型 最大 tro 堆棧 malformed {} 原因 s函數 舉例 一般我們運行代碼的時候,在控制臺報錯會相應的顯示你錯誤的行數,找到那一行,查找你相應的錯誤 1、xxx is not defined xxx 沒有定義 2、xxx is

c語言結構體定義形式

sdn 方法 tps statistic htm def courier ng- target 轉自https://blog.csdn.net/ziguo2010/article/details/79897327 1、最常用定義方式:定義結構體data,

javaScript陣列的常用方法

1.splice(2,3,4)刪除陣列中任意項(三個引數). 2.splice(1,3)刪除從第一項開始的往後三項(兩個引數).(splice可以結合pop(),unshift(),push(),shift()來理解) 3.push()在陣列的末尾增加一項. 4.unshift()在陣列

結構體定義形式

1、最常用定義方式:定義結構體data,此時結構體相當於一個型別,比如int,如需使用此結構體,方法同int struct data {     char aa;     char bb; &nb

Java定義常量方式

在開發中定義常量是很常見的事,但常量定義有哪幾種方式可選?各種定義方式有什麼優缺點?咱們就用這篇小文來梳理下^_^ 1.通過介面Interface來定義(不推薦) 定義方式如下: 我們可以這樣使用它: 這種定義方式的優點: 適合懶人使用,為什麼呢?

Spring容器定義Bean初始化方法和銷燬方法

Spring 容器中的 Bean 是有生命週期的,Spring 允許 Bean 在初始化完成後以及銷燬前執行特定的操作。下面是常用的三種指定特定操作的方法: 通過實現InitializingBean/DisposableBean 介面來定製初始化之後/銷燬之前

javascript定義函式形式

內容主要是講述javascript在類(原型物件)中定義方法的幾種形式,簡要之主要有三種:this關鍵字、prototype關鍵字、var 物件名={name:value,name2:value2};這三種形式。 在publicFunction.js檔案中定義js函式。

JavaScript陣列定義方法,以及關於陣列長度的討論

大家在使用JavaScript編寫指令碼語言的時候,尤其是習慣使用Java語言的朋友,定義了一個固定長度的陣列,但是使用了一個超出定義陣列的元素,程式並沒有報“陣列越界”錯誤,這到底是什麼原因呢?今天我們來分享一下! 1、陣列定義的四種方法: var arr_1 = ne

express 獲取參數的形式

配置 code ram 模式 支持 nbsp 前後端分離 json 處理 1、從URL中獲取查詢參數下 如果URL地址中使用?形式傳遞參數,可以直接使用res.query 來獲取到查詢的參數 2、從URL地址中獲取路徑參數 如果URL地址中,使用路徑傳遞參數,路徑類似於/i

Python編程系列---Python裝飾器的形式及萬能裝飾器

-s ont font 分析 spa def 結果 形式 one 根據函數是否傳參 是否有返回值 ,可以分析出裝飾器的四種形式: 形式一:無參無返回值 1 def outer(func): 2 def wrapper(): 3 print(

python字典的定義方式

def trace syn syntax invalid last ict print class # 方式1 >>> d = dict(name=‘Bob‘, age=20, score=88) >>> print(d) {‘name

Javascript迴圈刪除陣列元素的方法示例

發現問題 大家在碼程式碼的過程中,經常會遇到在迴圈中移除指定元素的需求。按照常規的思路,直接一個for迴圈,然後在迴圈裡面來個if判斷,在判斷中刪除掉指定元素即可。但是實際情況往往不會像預想的那樣順利執行。 下面以一段Javascript程式碼為例演示這一過程。

Javascript函式及自定義屬性

一.函式 1.函式:將一系列程式碼或者操作行為打包到一起形成的內容就是函式,是一塊有特定功能的程式碼。 2.函式的分類 a.具名函式:有函式名的就是具名函式 function foo(){//foo就是函式的名字,function表示函式的宣告,看不到表現效果

MATLAB常用的隨機數生成函式

1:rand函式的用法 命令:rand(N),rand(M,N)等 對於rand(N),通過help rand得到的解釋是:R = rand(N) returns an N-by-N matrix containing pseudorandom values

JavaScript建立函式的三方式

1.使用function關鍵字申明命名函式 function add(){ } 2.使用直接量的方式命名函式 var add = function() { } 3.使用function物件構造方法建立函式 var add = new Function(){ }

C語言字串的定義方式和有沒有’\0‘

( 主要解決 什麼時候是 “abcd\0” 什麼時候是 “abcd” 的問題 ) 幾種常用方式: 1.char* str = “abcd”; 2.char str[] = { “abcd” }; 3.char str[] = { ‘a’, ‘b’, ‘c

scala函式定義方法

scala看了有幾天了,也試著寫了“Hello World”,今天試著練習伴生物件的時候,突然搞不明白scala伴生物件中定義的函式,並不能按我的想法工作。 scala真是個非常靈活的語言,這裡還是總結下函式定義的幾種情況吧。 1、規規矩矩的寫法,帶有等號、大括

javascript定義事件的三方式

在javascript中,可以為某個元素指定事件,指定的方式有以下三種: 1、在html中,使用onclick屬性 2、在javascript中,使用onclick屬性 (1)注意函式名沒有雙引號。 3、在javascipt中,使用addEvenListener()方法 三種方法的比較 (1)在第二、

jsp檔案路徑的形式

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = reque