一.什么是类型
 JavaScript 虽然没有类的概念。但依然存在两种类型:原始类型和应用类型。
 原始类型保存为简单的数据值,引用类型则保存为对象,其本质是指向内存位置
 的引用。也就是说:原始值被直接保存在对象内,而引用值则作为一个指针保存在
 对象内,该指针指向实际对象在内存中的储存位置。

二.原始类型
 2.1 JavaScript中5中原始类型:boolean,number,string,null,undefined
  原始类型变量直接保存原始值(而不是一个指针),当你将原始值赋值给一个变量
  时,该值将复制到变量中。

  var color1 = ''red;
var color2 = color1; //将color1的值复制一份给变量color2
color1 = 'blue';
console.log(color1); //'blue'
console.log(color2); //'red'

2.2 鉴别原始类型
  鉴别原始类型的最佳方法使用typeof操作符。
  2.3 原始方法
  虽然字符串、数字、布尔值是原始类型,但是它们拥有方法(underfined和null没有)

  console.log(typeof 'hello'); //'string'
console.log(typeof 10); //'number'
console.log(typeof 5.1); //'number'
console.log(typeof true); //'boolean'
console.log(typeof underfined); //'underfined'
console.log(typeof null); //'object' 判断一个值是否为空,直接和null比较
console.log(null == underfined); //'true';
console.log(null === underfined); //'false';

三.引用类型
 3.1 创建对象

  var o1 = new Object();
var 02 = create.Object();
var o3 = {};

3.2 对象引用解除
 3.3 添加删除属性
 3.4 内建对象实例化
  1) Array   //数组类型,以数字为索引的一组值的有序列表
  2) Date    //日期和时间类型
  3) Error    //运行期错误类型
  4) Function   //函数类型
  5) Object    //通用对象类型
  6) RegExp   //正则表达式类型
 3.5 对象和数组字面量形式

  var o = {
naem : 'hello',
age : 1
};
var arr = [1,2,3];

3.6 函数字面形式

 function ref(value){
return value;
};
var ref2 = new Function('value','return value;')

3.7 正则表达式字面形式

   var numbers = /\d+/g;
var numbers2 = new RegExp("\\d+","g");

3.8 访问属性

 var arr = [];
arr.push(123);
var arr2 = [];
arr2["push"](123);

3.9 鉴别引用类型
  函数可以使用typeof而数组和对象则使用instanceof操作符

 var arr = [];
var o = {};
function f(){};
console.log(arr instanceof Array) //true
conlole.log(o instanceof Object); //true
console.log(f instanceof Function) //true

3.10 鉴别数组 使用Array.isArray();

 var arr = [];
console.log(Array.isArray(arr)); //true

四.原始封装类型
 原始封装类型共有3种(Number,String,Boolean)

 var name = 'Nicholas';
var temp = new String(name);
temp.last = 'Zakas';
temp = null;
console.log(temp.last) //underfined

临时对象仅在值被读取时创建

最新文章

  1. 按钮在cell上的高亮状态出现的慢
  2. Qweb Pdf 中添加 图片
  3. LINQ延迟查询的例子
  4. iOS视频压缩
  5. iOS 中对各种视图的截屏以及分享
  6. ASP.NET MVC 4 (一)路径映射
  7. 32. Longest Valid Parentheses
  8. 什么是redis数据库?
  9. [转]Delphi导出Excel的设置操作
  10. AxisFault另外一个问题
  11. Calendar( 日历)
  12. windows 查看端口被占用
  13. 使用PHP把下划线分隔命名的字符串 转换成驼峰式命名方式 , 把下划线后面的第一个字母变成大写
  14. android 背景透明度渐变动画
  15. frames.contentWindow.document InvalidCastException 转换错误异常。
  16. 继续沿用旧的网络访问模式Apache HTTP 客户端,防止Android9闪退
  17. idhttp采集时遇到乱码问题解决
  18. Linux console 重定向
  19. 海明码 CRC冗余校验码
  20. Qt5设置应用程序图标

热门文章

  1. 在eclipse上开发nodejs
  2. Core Data 使用映射模型
  3. Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片
  4. mysql 启动不了了
  5. Spring之ClassPathResource加载资源文件
  6. sql查看锁与解锁
  7. Java 基础练习题2
  8. java反射类内容获取
  9. JS跨域
  10. WPF的路由事件、冒泡事件、隧道事件(预览事件)