定义类,方法赋值给prototype属性各种写法:
方法一:
1 <script type="text/javascript"> 2 ////定义Message类 3 var Message = function () { 4 } 5 ////添加方法 6 Message.prototype = { 7 Display: function (msg) { 8 ///弹出 9 alert(msg); 10 } 11 }; 12 13 ////实例化 14 var msg = new Message() 15 ////调用方法 16 msg.Display(‘Hello World!‘); 17 </script>
方法二:
<script type="text/javascript"> ////定义Message类 var Message = function () { } ////添加方法 Message.prototype.Display = function (msg) { ///弹出 alert(msg); } ////实例化 var msg = new Message() ////调用方法 msg.Display(‘Hello World!‘); </script>
方法三:
<script type="text/javascript"> ////给Function对象添加一个方法用于声明方法 Function.prototype.method = function (name, fn) { this.prototype[name] = fn; }; ////定义Message类 var Message = function () { } ////添加方法 Message.method(‘Display‘, function (msg) { ///弹出 alert(msg); }); ////实例化 var msg = new Message() ////调用方法 msg.Display(‘Hello World!‘); </script>
方法四:链式语法。
<script type="text/javascript"> ////给Function对象添加一个方法用于声明方法并且返回this值 Function.prototype.method = function (name, fn) { this.prototype[name] = fn; return this; }; ////定义Message类 var Message = function () { } ////添加方法 Message.method(‘Display‘, function (msg) { ///弹出 alert(msg); }).method(‘Print‘, function (msg) { ///弹出 alert(msg); }); ////实例化 var msg = new Message() ////调用方法 msg.Display(‘Hello World!‘); msg.Print(‘Hello World!‘); </script>
时间: 2024-10-16 00:06:42