目前所见的,在普通的JavaScript应用中和绝大多数人一样使用的是全局的方式。大概是因为JavaScript所定义的变量或函数默认就是全局的。为了是代码不至于太凌乱,变量不至于稀里糊涂的就被人重定义或重新赋值,前段时间做了一个引入命名空间的形式的代码整改。

eg: var a=
{
name:null,
hellow:function(a)
{
return this.name+a;
}
}

以上方式有个缺点,代码过于多或过于长、或过多人参与且编码无强制性规范要求时可能会出现属性中的变量和函数混合在一起。对此作以下方式的优化。

 1 eg:
2 var a = {};
3 a.propty={
4 name:"",
5 age: 0,
6 ......
7 }
8
9 a.fn =
10 {
11 hellow:function(a)
12 {
13 a =a || "";
14 return a.propty.name+a;
15 },
16 getage:function()
17 {
18 return a.propty.age;
19 }
20 ........
21 }
   变量和函数分离。
       以上方式中使用到了一种以前不曾用过的设置默认值的方式: a =a || "";以往习惯写成 a = a==null?"":a;
 
 
******************************以*****下*****是*****正*****题*********************************************

  1、JavaScript 对象定义方式     

 var AA = function (name,age) {
this.Name = name||"";
this.Age = age || "";
this.Hellow = function ()
{
document.writeln("My name is " + this.Name + ",I'm " + this.Age);
}

使用方式:

var b = new AA("c1", 11);
b.Hellow();

2、继承

createNew的启发:

注:上图原文地址:http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html

受上述代码启发,写出了下面的代码:

 var AA = function (name,age) {
this.Name = name||"";
this.Age = age || "";
this.Hellow = function ()
{
document.writeln("My name is " + this.Name + ",I'm " + this.Age );
} }; var AB = function (name,age) {
var _ab = new AA(name,age);
_ab.Talk = function () {
document.writeln("I'm from BeiJin. I'm " + this.Age);
};
return _ab;
}

使用:

 var ab = new AB("talk", 11);
ab.Talk(); ab.Hellow();

上述代码中的AB内部定义的_ab为AA新的实例,在这个实例上做扩展以达到继承的目的。

javascript对象学习笔记的更多相关文章

  1. javaScript 对象学习笔记

    javaScript 对象学习笔记 关于对象,这对我们软件工程到学生来说是不陌生的. 因为这个内容是在过年学到,事儿多,断断续续,总感觉有一丝不顺畅,但总结还是要写一下的 JavaScript 对象 ...

  2. javaScript对象学习笔记(一)

    一.什么是对象 对象: JavaScript的一种基本数据类型 对象是属性的无序集合,每个属性都是一个名/值对 JavaScript中的事物都是对象:字符串.数值.数组.函数... JavaScrip ...

  3. javascript正则表达式 - 学习笔记

    JavaScript 正则表达式 学习笔记 标签(空格分隔): 基础 JavaScript 正则表达式是用于匹配字符串中字符组合的模式.在javascript中,正则表达式也是对象.这些模式被用于Re ...

  4. JavaScript正则表达式学习笔记(二) - 打怪升级

    本文接上篇,基础部分相对薄弱的同学请移步<JavaScript正则表达式学习笔记(一) - 理论基础>.上文介绍了8种JavaScript正则表达式的属性,本文还会追加介绍几种JavaSc ...

  5. JavaScript简易学习笔记

    学习地址:http://www.w3school.com.cn/js/index.asp 文字版: https://github.com/songzhenhua/github/blob/master/ ...

  6. 【MarkMark学习笔记学习笔记】javascript/js 学习笔记

    1.0, 概述.JavaScript是ECMAScript的实现之一 2.0,在HTML中使用JavaScript. 2.1 3.0,基本概念 3.1,ECMAScript中的一切(变量,函数名,操作 ...

  7. Javascript MVC 学习笔记(一) 模型和数据

    写在前面 近期在看<MVC的Javascript富应用开发>一书.本来是抱着一口气读完的想法去看的.结果才看了一点就傻眼了:太多不懂的地方了. 仅仅好看一点查一点,一点一点往下看吧,进度虽 ...

  8. Javascript作用域学习笔记(三)

    看完<你不知道的javascript>上,对作用域的新的理解(2018-9-25更) 一.学习笔记:   1.javascript中的作用域和作用域链 +  每个函数在被调用时都会创建一个 ...

  9. ServletListener对象学习笔记

    JavaWeb学习笔记--监听器详解 知识概要: 1.监听器下例子举例 2.Servlet规范中的监听器 3. 4. 1. 监听器下例子举例说明: /* Frame:事件源.发生事件的对象 Windo ...

  10. JavaScript新手学习笔记(一)

    1.JavaScript 对大小写敏感. JavaScript 对大小写是敏感的. 当编写 JavaScript 语句时,请留意是否关闭大小写切换键. 函数 getElementById 与 getE ...

随机推荐

  1. 应届生必看!23 个高质量 C++ 项目推荐,校招简历秒加分

    大家好,我是小康. 最近,不少同学私信我,临近毕业忙着找工作,想问有没有推荐的 C++ 项目,既能练手又能让简历更出彩.我也想起自己当年毕业时同样的焦虑,知道作为 C++ 后端开发的求职者,有几个实际 ...

  2. i-MES生产制造管理系统-可视化看板

    可视化看板最主要的目的是为了将生产状况透明化,让大家能够快速了解当前的生产状况以及进度,通过大数据汇总分析,为管理层做决策提供数据支撑,看板数据必须达到以下基本要求: 数据准确--真实反映生产情况 数 ...

  3. Nuxt.js 应用中的 webpack:configResolved事件钩子

    title: Nuxt.js 应用中的 webpack:configResolved事件钩子 date: 2024/11/21 updated: 2024/11/21 author: cmdragon ...

  4. WebLogic T3反序列化漏洞

    目录 前言 T3协议概述 T3反序列漏洞分析 漏洞复现 修复措施 前言 WebLogic的反序列化漏洞是一个经典的漏洞系列,原因就在于WebLogic在通信过程中使用T3协议传输数据,涉及到了序列化和 ...

  5. Django之gunicorn部署

    安装: pip install gunicorn 启动应用: gunicorn -w 3 -k gthread -e DJANGO_SETTINGS_MODULE=settings.prod Serv ...

  6. Vue 二维码组件

    1.前言 该组件依赖qrcode.js与element-ui 支持二维码大小配置,点击大图预览 该组件以vue文件形式进行封装,需要配置httpVueLoader插件进行引入,其他格式请自行更改源码 ...

  7. word常规操作

    为何写标 招标: A公司要买100台电脑 [需求] 投标: 电脑公司看到招标后,就会投标:自我介绍(公司,产品,售后) [自我介绍满足需求] 中标: A公司选择XX公司 [选择] 保密价格内容 不能透 ...

  8. LR语法分析算法

    LR语法分析器 组成:一个输入,一个输出,状态栈,驱动程序,语法分析表 注意:规约后需要寻找新的符号在栈顶状态上的转换 例如: 状态栈   符号栈       输入 0 5        $id    ...

  9. QPixmap 线程 奔溃

    使用QImage替代QPixmap. ·QImage与Qpixmap的区别 1.QPixmap主要是用于绘图,针对屏幕显示而最佳化设计,QImage主要是为图像I/O.图片访问和像素修改而设计的 2. ...

  10. C#字符串拼接的几种方式及其性能分析对比

    前言 在C#编程中字符串拼接是一种常见且基础的操作,广泛应用于各种场景,如动态生成SQL查询.构建日志信息.格式化用户显示内容等.然而,不同的字符串拼接方式在性能和内存使用上可能存在显著差异.今天咱们 ...