Robin's Blog

记录 积累 学习 成长

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
Js在内存中分为两种类型: 
  • 原始值:存储在Stack中,值直接存储在变量访问的位置,共有:Undefined Null Boolean Number String (5种原始类型)
  • 引用值:存储在Heap中,存储在变量处的值是一个指针

使用typeof运算符检测变量的类型,可返回:undefined boolean number string
  1. object(变量是引用类型或null)
  2. undefined:变量未被声明过,变量未被赋值,函数无明确返回值(返回的也是undefined)
  3. null:尚未存在的对象,或函数返回的对象不存在
  4. Boolean: 0可以转换为false(非0为true)
  5. Number:直接输入的数字都被看作Number的字面量
    • isFinit(Number) 检测某个数字是不是有穷的
    • isNaN(String) 检测某个字符串是否可转换为数字
  6. String:没有固定大小,首字符从0开始

转换:
  • 转换为数字:
  • 仅可对String进行转换,parseInt(String) parseFloat(String) 从开头开始,转换能转换的值为相应类型 

强制类型转换:创建一个新值,存放由原始值直接转成的值(原值不受影响)
  1. Boolean(value): 含字符的String,非0数字及对象(只要是object,不论其是否为null):返回true
  2. Number(value):对值整个进行转换(而不是调用函数那样的按需转换),失败则返回NaN
  3. String(value):调用其toSring()方法进行转换


引用类型:
  1. Object类
  2. 属性:
    • constructor 创建对象的函数的引用
    • prototype 对对象原型的引用
    方法:
    • hasOwnProperty("property")判断对象是否有某个特定属性
    • isPrototypeOf(object)判断该对象是否为另一对象的原型
    • propertyIsEnumerable(property) 判断给定的属性是否可用for..in语句进行枚举
    • toString()
    • valueOf() 原始值,大多情况下等同于toString()返回的值
    • 以上每种属性和方法都会被其它类覆盖
  3. String类:
  4. 方法:
    • charAt(i) 返回对应下标的字符
    • charCodeAt(i)返回对应下标字符的字符代码
    • concat(" ") 将字符串连接到String对象的原始值上 各方法返回的是String原始值(原始值保持不变)
    • indexOf(" ")指定子串在另一个字符串的位置(没找到子串,返回-1)
    • lastIndexOf(" ")从字符串尾开始检索
    • slice(beginIndex,endIndex)
    • subString(beginIndex,endIndex) 从子串中创建字符串
    • toUpperCase()/toLocalUpperCase()
    • toLowerCase()/toLocalLowerCase()


运算符:
  1. instanceof 确认对象为某种特定类型 二元运算符 eg:(sValue instanceof String)
  2. delete:删除对象属性或方法的引用
  3. void:对任何值都返回undefined
  4. ==与!= 一个运算符为boolean,将boolean转为数字
    • 一个运算符为字符串,另一个为数字,将字符串转为数字
    • 一个为对象,另一个为字符串,将调用对象.toString()转换为字符串
  5. === 只有在无需类型转换运算符就相等时,返回true
  6. !== 只有在无需类型转换而不相等时,才返回true
posted on 2009-03-17 13:52  Robin99  阅读(241)  评论(0编辑  收藏  举报