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()的返回值都是字符串
View Code

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('');
原文地址:https://www.cnblogs.com/ywang/p/8081205.html