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>























版权声明:本文博客原创文章,博客,未经同意,不得转载。

JavaScript模式读书笔记 文章3章 文字和构造的更多相关文章

  1. JavaScript模式读书笔记 第4章 函数

    2014年11月10日 1.JavaScript函数具有两个特点: 函数是第一类对象    函数能够提供作用域         函数即对象,表现为:         -1,函数能够在执行时动态创建,也 ...

  2. 【javascript dom读书笔记】 第九章 CSS-DOM

    用dom设置样式 element.style.property = value 何时用dom脚本设置样式 作者写到:绝大多数的现代浏览器,虽然对css伪类的支持不是很完整,但是对dom都有良好的支持, ...

  3. 《Linux内核分析》读书笔记(四章)

    <Linux内核分析>读书笔记(四章) 标签(空格分隔): 20135328陈都 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行 ...

  4. 《编写可维护的javascript》读书笔记(中)——编程实践

    上篇读书笔记系列之:<编写可维护的javascript>读书笔记(上) 上篇说的是编程风格,记录的都是最重要的点,不讲废话,写的比较简洁,而本篇将加入一些实例,因为那样比较容易说明问题. ...

  5. SQL Server2012 T-SQL基础教程--读书笔记(1-4章)

    SQL Server2012 T-SQL基础教程--读书笔记(1-4章) SqlServer T-SQL 示例数据库:点我 Chapter 01 T-SQL 查询和编程背景 1.3 创建表和定义数据的 ...

  6. 《你不知道的javascript》读书笔记2

    概述 放假读完了<你不知道的javascript>上篇,学到了很多东西,记录下来,供以后开发时参考,相信对其他人也有用. 这篇笔记是这本书的下半部分,上半部分请见<你不知道的java ...

  7. 《Linux内核设计与实现》第八周读书笔记——第四章 进程调度

    <Linux内核设计与实现>第八周读书笔记——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配 ...

  8. 《Linux内核设计与分析》第六周读书笔记——第三章

    <Linux内核设计与实现>第六周读书笔记——第三章 20135301张忻估算学习时间:共2.5小时读书:2.0代码:0作业:0博客:0.5实际学习时间:共3.0小时读书:2.0代码:0作 ...

  9. 《Linux内核设计与实现》 第八周读书笔记 第四章 进程调度

    20135307 张嘉琪 第八周读书笔记 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有 ...

随机推荐

  1. [C++]函数指针与指针函数

    函数指针与指针函数,之前总是分不清,今天就好好把它两认认清楚. 先从概念说起,简单是理解. 函数指针:是指针.一个指向某一个函数入口地址的指针. 指针函数:是函数.一个返回值是指针的函数. 记忆: 从 ...

  2. Oracle 调用存储过程执行CRUD的小DEMO

    -----------------------------修改(表名,主键ID,要修改的列) create or replace procedure pro_code_edit(p_tbname in ...

  3. 找工作笔试面试那些事儿(8)---常问的CC++基础题

    这一部分是C/C++程序员在面试的时候会被问到的一些题目的汇总.来源于基本笔试面试书籍,可能有一部分题比较老,但是这也算是基础中的基础,就归纳归纳放上来了.大牛们看到一笑而过就好,普通人看看要是能补上 ...

  4. c++中sort()及qsort()的使用方法总结

    当并算法具体解释请见点我 想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~ 所以自己总结了一下,首先看sort函数见下表:   函数名 ...

  5. hdu4280(最大流)

    传送门:Island Transport 题意:有N个岛屿 M条无向路 每个路有一最大允许的客流量,求从最西的那个岛屿最多能运用多少乘客到最东的那个岛屿. 分析:无向图正反都加弧,权值一样,这题点多, ...

  6. 智能生活 “视”不可挡——首届TCL杯HTML5智能电视开发大赛等你来挑战

    http://www.csdn.net/article/2014-06-04/2820063-TCL-Smart-TV-Innovation-Competation

  7. redis优化配置和redis.conf说明

    1. redis.conf 配置參数: #是否作为守护进程执行 daemonize yes #如以后台进程执行,则需指定一个pid,默觉得/var/run/redis.pid pidfile redi ...

  8. 完整导出IntelliJ IDEA的快捷键

    工欲善其事,必先利其器. 常常和代码打交道的人,熟练使用IDE快捷键那是必须的,由于快捷键能够把你从各种罗嗦事中解放出来.比方,假设没有快捷键,你就须要常常性的暂停快速执行的大脑,右手凭记忆摸到鼠标, ...

  9. POJ 3589 Number-guessing Game(简单题)

    [题目简述]:两个四位数,假设后一个数中的某个数与前一个相应的数的位置和值都相等.则统计数目由几个这种数.记为count1吧. 假设后一个数中的某个数与前一个数的数值相等,但位置不同. 此时这种数的个 ...

  10. SAE微信公众号PHP SDK, token一直验证失败

    用的是SAE,创建的是微信公众号PHP SDK框架,里面example文件夹下有server.php用来验证token的.但是问题来了,无论我怎么输入URL和token,一直告诉我token验证失败. ...