js——数据类型
一、简介
javascript由三部分组成:
- ECMAScript
- DOM
- BOM
ECMAScript
简单的说,ECMAScript描述了以下内容: 语法 / 类型 / 语句 / 关键字 / 保留字 / 运算符 / 对象
DOM
DOM(文档对象模型)是HTML和XML的应用程序接口。DOM把整个页面规划成由节点层级构成的文档
BOM
BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作
- window(全局对象)
- navigator(获取浏览器的版本等信息,可用于判别浏览器及其版本信息)
- screen(获取浏览器尺寸等信息)
- history(获取浏览器的历史记录并可以操作页面前进、后退等)
- location(获取或操作浏览器地址栏)
每种浏览器都有自己的BOM实现,例如实现一个功能,每个浏览器有定义自己的属性和方法,这就是所谓的浏览器兼容。
浏览器包括以下两部分:
- shell(外壳)
- 内核
- 渲染引擎(语法规则和渲染)
- js引擎
- 其他模块
以下为主流浏览器的内核
- trident ——> IE浏览器
- Gecko ——> Firofox(火狐)浏览器
- Webkit / blink(2014新) ——> Google chrome(谷歌)浏览器
- Webkit ——> safari(苹果)浏览器
- presto ——> Opera(欧朋)浏览器
命名规则
一般变量,方法名用小驼峰式(xiaoTuoFeng),构造函数用大驼峰式(DaTuoFeng)
二、数据类型
- 原始值(Undefined、Number、String 、Boolean、Null),值直接存储在变量访问的位置(即存储在栈中的简单数据段),原始值有个特点,叫不可改变的原始值
- 引用值(object, array, function等),存储在堆中的对象,也就是说,存储在变量处的值是一个指针,指向存储对象的内存处(即对象的地址存储在栈中,具体内容存储在堆中)
typeof(数据) : 判断数据类型,返回值有一下类型: string / number / object / undefined / function / boolean
undefined 当声明一个变量,没有初始值,则该变量被赋值为undefined;当函数没有明确返回值时,返回的也是undefined;如果没有声明一个变量就使用,也会报错该变量undefined
null == undefined // 返回true。尽管两个值相等,但含义不同。undefined是声明变量时没有赋初始值,null表示尚未存在的对象。如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是null
object (如果变量是一种引用类型或Null类型,则typeof(变量) 返回object):
typeof(Array) // 返回Object
typeof(Object) // 返回Object
typeof(Null) // 返回Object (null被认为是对象的占位符)
typeof(typeof(a)) // 返回string 解析: 先执行typeof(a); a未定义,返回“undefined” typeof("undefined"); 返回string typeof()的返回值都是字符串
isNaN() 会隐式调用Number()
number(null) ——> 0
number(undefined) ——> NaN
number("abc") ——> NaN
typeof(NaN) // 返回number
NaN跟任何数都不相等,跟自己也不相等。只能用isNaN()判断
Number.toFixed(num); // 把Number四舍五入为num位数的数字;例如:
var a = 123.645682; console.log(a.toFixed(3)); // 输出123.645
字符串倒序
var str = 'abse'; var newStr = str.split('').reverse().join('');