1,对象字面量

    -1,Javascript中所创建的自定义对象在任务时候都是可变的。可以从一个空对象开始,根据需要增加函数。对象字面量模式可以使我们在创建对象的时候向其添加函数。
      <script>
//定义空对象
var dog = {};
//对空对象添加方法
dog.name = "Liubo";
//对对象增加方法
dog.getName = function(){
return dog.name;
};
//改变属性和方法
dog.getName = function(){
returen "LaoLiu";
};
//完全删除属性/方法
delete dog.name;
  </script>

<script>
var dog = {
name: "LaoLiu",
getName:function(){
return this.name;
}
};
  </script>

-2,对象字面量语法
a. 将对象包装在大括号中。
b. 对应以逗号分割属性和方法。
c. 用冒号分割属性名和属性值。
d. 当变来那个复制的时候,以右括号结束。
2,自定义构造函数:
     
<script>
var Person = function(name){
this.name = name;
this.say = function(){
return "I am " + this.name;
}
}
var adam = new Person("Adam");
console.log(adam.say());
  </script>

    当以new操作符调用构造函数的时候:
        a. 创建一个空对象,并且this变量引用该对象,同时还继承了该函数的原型。
        b.属性和方法被加入到this引用的对象中。
        c.新创建的对象由this所引用,并且最后隐式的返回this。
以上代码,在后台实际执行如下所示:
    
var Person = function(name){
var this  = {};
this.name = name;
this.say = function(){
return "I am " + this.name
};
//return this;
};

3,构造函数的返回值。
   
  <script>
var Objectmark = function(){
this.name = "This is it!";
var that = {};
that.name = "And that is that!";
return that;//因为return that所以导致第一次初始化的name将被忽略
};
var o = new Objectmark();
console.log(o.name);
  </script>

4,强制使用new的模式
<script>
function Man(){
this.name = "Lao Liu";
}
//创建新对象
var laoLiu = new Man();
console.log(typeof laoLiu);// object
console.log(laoLiu.name);//Lao Liu
//反模式
//未使用new操作
var pangLiu =  Man();
console.log(typeof pangLiu);//undefined
console.log(pangLiu.name);//Cannot read property 'name' of undefined 
  </script>

5,数组、
    1, var a = [3];//声明一个长度为1 ,a[0] = 3 的数组。
    2,var a = new Array(3);//声明一个长度为3的数组
6,JSON:即为大括号包含起来的key-value
    JSON解析:
 <script>
var jstr = '{"mykey" : "my value"}';
//反模式
var data = eval('(' + jstr + ')');
console.log(data);
//推荐使用
data = JSON.parse(jstr);
console.log(data.mykey);
  </script>

JSON封装:
  <script>
var dog = {
name : "LaoLIu", 
dob: new Date(),
legs: [1, 2, 3, 4]
};
var jsonStr = JSON.stringify(dog);
console.log(jsonStr);//{"name":"LaoLIu","dob":"2014-11-07T06:17:28.097Z","legs":[1,2,3,4]}
  </script>

7,正则表达式

    a.使用new RegExp生成正则表达式。
     b.使用字面量语法
8,基本类型包装器
    Javascript的五类基本类型:数字、字符串、布尔、null和undefined。
    分别对应: Number()   String()   Boolean()
<script>
var n = 100;
console.log(typeof n);//number
var nobj = new Number(100);
console.log(typeof nobj);//object
var s = "hello";
console.log(s.toUpperCase());//HELLO
 
var greet = "1 2 3 4";
console.log(greet.split(" ")[0]);//1
  </script>

9,错误对象(异常捕获)

        
   
   <script>
try{
throw{
name:"MyError",//自定义错误类型
message:'oops',
extra: 'This is Exception',
remedy: genericErrorhandler//指定应该处理该错误的函数
};
}catch(e){
 
alert(e.message);
e.remedy();//调用genericErrorhandler
}
function genericErrorhandler(){
alert("Hi, BigLiu!");
}
  </script>

转载于:https://www.cnblogs.com/jingLongJun/p/4491080.html

JavaScript模式读书笔记 第3章 字面量和构造函数相关推荐

  1. JavaScript模式读书笔记 第5章 对象创建模式

    1,命名空间模式  namespace   <script> var myApp = {};//通过全局变量来实现命名空间 maApp.Parent = function (){   }; ...

  2. PMP读书笔记(第1章)

    大家好,我是烤鸭:     今天做一个PMP的读书笔记. 第一章 引论 1.1 概述指南和目的 1.1.1 项目管理标准 1.1.2 通用词汇 1.1.3 道德与专业行为规范 1.2 概述指南和目的 ...

  3. 计算机系统导论第九章,计算机系统导论 -- 读书笔记 -- 第三章 程序的机器级表示 (持续更新)...

    计算机系统导论 -- 读书笔记 -- 第三章 程序的机器级表示 (持续更新) 第三章 程序的机器级表示 3.1 历史观点 3.2 程序编码 1. 命令行 (1)编译 Linux> gcc -Og ...

  4. Java 核心技术卷 II(第 8 版) – 读书笔记 – 第 1 章(下)

    22.一旦获得了一个 Charset,就可以在 Java 的 Unicode 和指定的编码格式之间进行转化,下面以 GBK 和 Unicode 之间做为例子. 从 Unicode 到 GBK: imp ...

  5. Machine Learning in Action 读书笔记---第3章 决策树

    Machine Learning in Action 读书笔记 第3章 决策树 文章目录 Machine Learning in Action 读书笔记 一.决策树算法简介 1 决策树的构造 2 决策 ...

  6. java虚拟机读书笔记 第三章 垃圾收集器和内存分配策略

    java虚拟机读书笔记 第三章 垃圾收集器和内存分配策略 GC需要完成的三件事情:哪些内存需要回收.什么时候回收.如何回收 垃圾回收器在对堆进行回收前,首先要确定那些对象存活,哪些对象已经死去,判断的 ...

  7. JavaScript设计模式读书笔记(一)= 创建型设计模式

    全系列目录 JavaScript设计模式读书笔记(一)=> 创建型设计模式 JavaScript设计模式读书笔记(二)=> 结构型设计模式 JavaScript设计模式读书笔记(三)=&g ...

  8. JavaScript设计模式读书笔记(四)= 技巧型设计模式

    全系列目录 JavaScript设计模式读书笔记(一)=> 创建型设计模式 JavaScript设计模式读书笔记(二)=> 结构型设计模式 JavaScript设计模式读书笔记(三)=&g ...

  9. Android群英传神兵利器读书笔记——第三章:Android Studio奇技淫巧

    Android群英传神兵利器读书笔记--第三章:Android Studio奇技淫巧 这篇文章篇幅较长,可以使用版权声明下面的目录,找到感兴趣的进行阅读 目录 3.1 Android Studio使用 ...

最新文章

  1. python定义浮点数数组_tensorflow之tf.record实现存浮点数数组
  2. 3x3,5x5,7x7卷积核识别效率对比
  3. 【云计算】5_云存储产品介绍
  4. 709. 转换成小写字母 golang 字符串处理
  5. lisp 任意点 曲线距离_递归、分治、分类和最小距离点对的autolisp实现
  6. Linux 下 WildFly (原Jboss) 的安装 、配置以及发布
  7. Linux执行shell脚本提示文件找不到问题解决办法
  8. 淘淘商城系列——VMware添加已配置好的虚拟机
  9. javascript系列-class6.String类型
  10. 函数计算机使用说明,SHARP-EL506P 函数计算器的使用说明
  11. FFmpeg入门详解之116:rtsp live555摄像头直播
  12. 棠玥寕近照曝光,淡雅着装,盖不住魅力
  13. 中国招聘网站调研报告
  14. easyui之combo控件分析
  15. WPF中使用PS导出的SVG矢量图
  16. 面试通过后如何拒绝HR拿offer
  17. 一个问题来对比文心一言和chatgpt
  18. java list 随机获取n个_java – 从列表中取n个随机元素?
  19. 技嘉显卡性能测试软件,性能测试成绩总结_技嘉 GA-G1.Sniper B5_主板评测-中关村在线...
  20. 从整体视角了解情感分析、文本分类!

热门文章

  1. android 论坛_如何看待百度android吧萎靡现象与吧主的无所作为
  2. 80211 发送速率选择算法分析
  3. HDU 4291 A Short problem 矩阵快速幂 循环节
  4. ES6展开运算符(...)
  5. 【BZOJ1003】物流运输
  6. LocalBroadcastManager 的使用
  7. 沈向洋谈文献阅读(转载)
  8. 存储过程里调用另一个存储过程的值
  9. Error:Connection timed out: connect
  10. linux命令行sip电话,基于Linux和MiniGUI的SIP电话终端设计