<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js封装</title>
</head>
<body> </body>
</html>
<script type="text/javascript">
//javascript中面向对象的5种写法
//定义Circle类,拥有成员变量r,常量PI和计算面积的成员函数area() //第一种写法:比较正规的写法
function Circle(r){
this.r = r;
}
Circle.PI = 3.14159;
Circle.prototype.area = function (){
return Circle.PI * this.r * this.r;
}
var c = new Circle(2.0);
console.log(c.area()); //第二种写法:工厂方法
var Circle = function (){
var obj = new Object();
obj.PI = 3.14159; obj.area = function (r){
return this.PI * r * r;
}
return obj;
}
var c = new Circle();
console.log(c.area(2.0)); //第三种写法
var Circle = new Object();
Circle.PI = 3.14159;
Circle.area = function (r){
return this.PI * r * r;
}
console.log(Circle.area(2.0)); //第四种写法:JSON写法
var Circle = {
"PI":3.14159,
"area":function(r){
return this.PI * r * r;
}
}
console.log(Circle.area(2.0)); //第五种写法
var Circle = new function("this.PI = 3.14159;this.area =function(r){return r * r * PI;}");
console.log((new Circle()).area(2.0)); </script>

javascript中面向对象的5种写法的更多相关文章

  1. JS 中面向对象的5种写法

    //第1种写法 function Circle(r) { this.r = r; } Circle.PI = 3.14159; Circle.prototype.area = function() { ...

  2. JavaScript中选项卡的几种写法

    效果图: 1.基本写法 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  3. javascript中面向对象的两种构建方式(构造函数)和(原型模式的区别)

    1.构造函数模式--->alert的结果为false <!DOCTYPE html> <html lang="en"> <head> &l ...

  4. JS面向对象的几种写法

    JS 中,面向对象有几种写法.归纳下,大概有下面这几种:工厂模式,构造函数模式,原型模式,构造函数与原型模式的混合使用,原型链继承,借用构造函数继承. 一.工厂模式 function person ( ...

  5. 实现JavaScript中继承的三种方式

    在JavaScript中,继承可以通过三种手法实现原型链继承 使用apply.call方法 对象实例间的继承.     一.原型链继承 在原型链继承方面,JavaScript与java.c#等语言类似 ...

  6. JavaScript中面向对象的三大特性(一个菜鸟的不正经日常)

    经过几天的学习,把jQuery给啃会了,但是运用的还不算特别熟练,总感觉自己在JavaScript方面的基础十分欠缺,所以继续拾起JavaScript,开始更好的编程之旅~ 今天学的是JavaScri ...

  7. javascript中创建对象的几种不同方法

    javascript中创建对象的几种不同方法 方法一:最直白的方式:字面量模式创建 <script> var person={ name:"小明", age:20, s ...

  8. 请写出JavaScript中常用的三种事件。

    请写出JavaScript中常用的三种事件. 解答: onclick,onblur,onChange

  9. ThinkPHP中Widget的两种写法及调用

    Widget扩展一般用于页面组件的扩展,在页面根据需要输出不同的内容,下面介绍一下ThinkPHP中Widget的两种写法及调用 写法一: ArticlWidget.class.php文件: clas ...

随机推荐

  1. 北京Uber优步司机奖励政策(1月12日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  2. 成都Uber优步司机奖励政策(1月23日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  3. SLAM前沿问题梳理

    鲁棒性问题:数据关联是影响系统鲁棒性的主要原因 特征提取.线特征 短期内的数据关联是最容易处理的,新的研究方向包括特征提取.线特征等. 回环检测 对于前端的环闭合检测,检测当前测量中的特征并试图将它们 ...

  4. 使用union 外加count

    explain extended and name='aaa')) t; +----+--------------+------------+-------+---------------+----- ...

  5. HardcodedDebugMode

    xmlns:tools="http://schemas.android.com/tools" tools:ignore="HardcodedDebugMode"

  6. XSS--编码绕过,qcms,鲶鱼cms

    一.编码绕过 1)HTML进制编码 标签中的某些属性值可以使用html十进制.十六进制表示 2)JavaScript编码 JavaScript支持unicode.八进制.十六进制.十进制等 3)URL ...

  7. Selenium(Python)等待元素出现

    1.显式等待 from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdri ...

  8. 使用unittest里面的discover()方法组织测试用例

    import osimport unittest directory = os.getcwd()# 测试用例的目录organize = unittest.defaultTestLoader.disco ...

  9. win 下通过dos命令格式化磁盘

    该命令可以解决好多问题,比如: 1.u盘作为启动后,如何恢复成正常的u盘 1.win + r ->cmd 进入dos模式 2.输入diskpart后回车,点击确定,进入diskpart命令的交互 ...

  10. 【上传-下载】-jmeter工具

    上 传 ================================================================================================ ...