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>























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

最新文章

  1. 因为此控件已在 web.config 中注册并且与该页位于同一个目录中
  2. Linux常用命令 查看进程信息时 copy的-----温故而知新
  3. linux笔记_文件搜索命令
  4. CSS的伪类和伪元素
  5. 基于新唐M0的XXTEA加密解密算法源码
  6. poj 3020 Antenna Placement (最小路径覆盖)
  7. Unity渲染优化中文翻译(二)——CPU的优化策略
  8. 如何使用fiddler抓取https请求(PC和移动端)
  9. b继承a
  10. Luogu3092:[USACO13NOV]No Change
  11. java实现栈的简单操作
  12. 关于OSI
  13. CentOS 7.4nginx配置SSL
  14. php-fpm慢日志配置
  15. Linux 编程简单示例代码
  16. 【转】Centos 7 修改主机名hostname
  17. Java微信二次开发(一)
  18. VS 最近打开清理bat
  19. mysql 约束条件 auto_increment 自动增长目录
  20. python StringIO&amp;BytesIO

热门文章

  1. VirtualBox集群建立和网络配置
  2. select value from v$diag_info where name=&#39;Default Trace File&#39;;
  3. linux下用tar命令将当前目录下文件按子目录压缩归档
  4. hdu2159 Fate 二维背包
  5. Setup SSH and SVN on Windows Server
  6. Oracle12C 怎样导入scott用户
  7. 2015年十大热门Android开源新项目
  8. Managing Data in Containers
  9. POJ 1122 FDNY to the Rescue!
  10. cocos2.2.3 HelloCpp TestCpp android 环境搭建 编译