`
xu_wccq
  • 浏览: 130918 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

小记javascript: 实例变量,实例方法; 类变量,类方法

阅读更多

javascript 摸拟 class

以及 实例变量,实例方法; 类变量,类方法

function Circle(r){
this.r = r; // this.r 这里它变就实例变量
}

Circle.PI = 3.14 // 类方法,只能在Circle上调用
Circle.prototype.area=function(){
 return this.r * Circle.PI;
} // 实例方法


Circle.max = function(a,b){
  return a.r > b.r ? a : b
} // 类方法

 

有时候我们大概也需要用到 私有属性

第一个“发明”的人据说是Douglas Crockfork, 想出这方法也挺绝的。

function Circle(r) {
   this.r = function() { return r; }
}

//之后r的值将不会被外界改变。
Circle.PI = 3.14;

Circle.prototype.area = function() {
  return Circle.PI * this.r() * this.r();
}

var c = new Circle(1.22);
// 以下情况都不能改变 半径的 值
c.r = function(){return 3333}
c.r = 2222;

//如此一来可以保证r的值不小心给改变了。
 
分享到:
评论

相关推荐

    我的日常小记:spring以及mybatis最终源码

    在本项目中,"我的日常小记:spring以及mybatis最终源码" 是一个记录了开发者个人编程经验的项目,主要涉及两个核心框架——Spring和MyBatis。这两个框架是Java开发领域中非常流行的技术栈,广泛应用于企业级后端...

    工作小记:企业微信 嵌H5页面 用户权限获取匹配.doc

    ### 工作小记:企业微信嵌H5页面用户权限获取匹配 #### 一、背景与目的 在当前数字化转型的大背景下,企业越来越多地利用移动互联网技术来提升工作效率和服务质量。其中,企业微信作为一种重要的办公协作平台,在...

    javascript Dom开发小记

    web前端开发必备的技术,dom编程也是其中重点中的重点

    python爬虫-加速乐cookie混淆解析实例小记

    python爬虫-加速乐cookie混淆解析实例小记

    C++编程小记,经典收藏

    - **注意事项**:如果派生类的方法名称与基类的虚方法不同,则编译器将报错。 - **`final`关键字**: - 用于标记虚函数或整个类不可被进一步覆盖或继承。 - **示例**: ```cpp class E { public: virtual ...

    c语言理论知识小记

    - **定义常量的方法**: - 使用`#define`预处理器指令,例如`#define LENGTH 20`。 - 使用`const`关键字,如`const int LENGTH = 10;`。 #### C语言存储类别 - **`auto`**:局部变量默认存储类别。 - **`...

    javascript语言结构小记(一)

    本篇小记将详细地介绍JavaScript语言中的几个关键结构特性,包括对Unicode字符集的支持、变量声明与初始化、以及类型运算符和算术运算符的使用。 首先,关于JavaScript支持Unicode字符集,这一点意味着在JavaScript...

    Java transient关键字使用小记

    - 如果一个类的所有实例字段都是`transient`的,那么这个类就没有必要实现`Serializable`接口,因为序列化将没有任何意义。 - 在处理`transient`变量时,开发者通常需要自己管理这些变量的状态,例如在反序列化后...

    thinkphp5.0反序列化链小记.pdf

    - 上述payload中涉及到了多个类和方法的嵌套使用,最终目的是为了在反序列化过程中执行`@riny($CBFG[1])`这行代码,其中`$CBFG`是一个预定义的变量,通常由框架内部设置,用于存储反序列化后的对象。 #### 四、总结...

    vuex使用方法,小记总结

    Vuex 使用方法总结 Vuex 是一个专门为 Vue.js 设计的状态管理器,用于管理应用程序的状态。下面是 Vuex 的使用方法总结: State Vuex 的状态管理是通过 State 来实现的。State 是一个对象,存储了应用程序的所有...

    大方法的执行性能与调优过程小记1

    在Java编程中,大型方法(即超过2500行的方法)并不常见,通常是通过自动化工具生成,如模板编译或语言转换。然而,这样的大方法在Hotspot JVM上可能会遇到性能问题。从描述中我们可以看到,一个名为`play()`的方法...

    STM8S+STVD+COSMIC折腾小记

    ### STM8S+STVD+COSMIC折腾小记 #### 一、STM8S存储器模式及编程细节 STM8S微控制器支持两种不同的存储器模式:`-stackshort(mods0)` 和 `-StackLong(modsl0)`。这两种模式分别针对不同的内存管理需求。 1. **`-...

    垂直居中 小记

    这篇小记主要探讨了如何在不同场景下实现元素的垂直居中。博客链接为<https://xingda1989.iteye.com/blog/1190353>,虽然没有提供具体内容,但我们可以根据常规的垂直居中方法进行讨论。 一、单行文本垂直居中 对于...

    android开发小记

    在“android开发小记”这个主题中,我们可以深入探讨Android应用程序开发的相关知识,特别是通过查看提供的压缩文件中的代码示例。这些文件名如lesson_8_code.zip至lesson_20_codel.zip,以及不同的Mp3Player版本,...

    Linux boost库安装、编译问题小记

    环境: Linux s12084 2.6.9-67.ELsmp #1 SMP Wed ...小记一下。以备以后参考。  boost 库做得真好。在windows 平台, linux 平台下编译都很顺利。hp aCC 也宣称对 boost 1.35 完全支持 。  全部编译是很痛苦的过程

    java小记.rar

    Servlet通过继承HttpServlet类并覆盖doGet或doPost等方法来实现动态网页的生成。例如,你可以看到作者可能记录了如何处理HTTP请求、响应头和体的设置,以及如何使用Servlet进行会话管理。 JSP(Java Server Pages)...

    Python django Extjs 项目开发中的错误小记

    这涉及到对象属性访问错误,通常因为类定义不正确或方法引用了不存在的属性。 - 当使用filter()方法从数据库获取QuerySet时,返回的是对象列表。如果直接访问列表的第一个元素的属性(如event_type),就会出现错误...

    d3js 学习小记

    ### D3.js 学习小记 #### SVG基础与D3.js绘图实践 ##### SVG基础 SVG(可缩放矢量图形)是一种基于XML的矢量图像格式,用于描述二维图形以及图形应用。SVG 图像可以被放大、缩小而不会失真,非常适合于网页制作。...

Global site tag (gtag.js) - Google Analytics