1、JavaScript的数据类型分为两类:原始类型和对象类型;

原始类型包括:数字,字符串,布尔值,null和undefined; (都是不可变类型,值不可以修改)

对象类型:普通对象和函数;

函数可使用new新建对象,即构造函数;每个构造函数定义了一类对象--由构造函数初始化的对象组成的集合;

类可以看做是对象类型的子类型,javascript语言定义的类主要有:数组Array,函数Function,日期Date

正则RegExp: var pattern=/s$/ 等价于 var pattern = new RegExp("s$");用于匹配任何以‘s’结束的字符串;

错误Error:定义了表示程序中运行是错误和语法错误的对象; 在try--catch中使用。

--------------------------------------------

关于常用类型判定例子:

定义变量:var n;

赋值-----

获取类型: typeof n

// 'undefined' --- 这个值未定义;
// 'boolean' --- 这个值是布尔值;
// 'string' --- 这个值是字符串;
// 'number' --- 这个值是数值;
// 'object' --- 这个值是对象或null;
// 'function' --- 这个值是函数。

null和函数也是对象,但返回值不同;

---------------------------------------------

2、数值类型:

1)、所有数字均用浮点数值表示;

2)、JavaScript预定义了全局变量NaN非数字值与Infinity正无穷大;

  仅当x为NaN时,x!=x为true,其他都为false;

仅当参数是NaN或非数字值时,isNaN()返回值为true;

仅当参数不是NaN、Infinity或-Infinity的时候,isFinite()返回true;

3)、javascript浮点数表示法是一种二进制表示法,不能精确表示类似0.1这样的数字;

  var x = 0.3- 0.2; var y = 0.2- 0.1;alert(x == y); //false

      javascript真实运行环境中:x=0.099 999 999 999 999 98    y = 0.1;

3、字符串,正则的使用例子:

var text = "test:1,2,3";

var pattern = /\d+/g //匹配所有包含一个或多个数字的实例;

pattern.test(text); //true 匹配成功;

text.search(pattern); //6 首次匹配成功位置;

text.match(pattern);  //[1,2,3]所有匹配成功组成的数组;

text.replace(pattern,'#'); //[test:#,#,#] 替换

4、布尔值:

判断以下值时:undefined,null,0,-0,NaN,"" 都是false;

var y; var x= null; alert(x == y);// true  y是undefined ;

5、类型转换:

1.number-to-string:

var n = 123456.789;

  n.toFixed(2) //123456.78 指定小数点后的位数;

  n.toExponential(2) //1.23e+5 指定指数计数法,小数点钱固定一位;

n.toPrecision(10) //123456.7890   指定有效数字位数

  n.toPrecision(2) //1.23e+5 如小于整数位数,则转为指数

2.string-to-number:

parseInt() //解析整数;

parseFloat() //解析整数和浮点数;

6、函数:函数变量声明提前

var n = 'global';

function(){

  console.log(n);  //undefined

    var n = 'scope';

console.log(n);  //scope     

}

等价于:

var n = 'global';

function(){

    var n;

   console.log(n);  //undefined

    n = 'scope';

console.log(n);  //scope     

}

JavaScript的理解记录(1)的更多相关文章

  1. JavaScript的理解记录(6)

    ---接上篇: 四.CSS相关: 1.CSS不支持注释// 支持注释/* */ 2. 几种浏览器厂商前缀: Firefox : -moz-;    Chrome:-webkit- ;      IE: ...

  2. JavaScript的理解记录(5)

    ---接上篇: 三.DOM解析: 1.Document Object Model(DOM):是表示和操作HTML和XML文档内容的基础API;其中几个重要的类有:Document和Element,Te ...

  3. JavaScript的理解记录(4)

    客户端JavaScript:客户端就是Web浏览器; 一. 前奏: Web文档(document):一些呈现静态信息的页面,虽然有的页面是会动的,但信息本身还是静态! Web应用:可以动态载入信息,相 ...

  4. JavaScript的理解记录(3)

    ---接上篇 一.函数:    1. 函数定义后直接执行:var f = (function(x){ return x*10}(10)); 2. 函数的调用有四种方式: 作为函数:作为方法:作为构造函 ...

  5. JavaScript的理解记录(2)

    一.表达式与运算符: 1.对于属性访问表达式: var arr = {first:"hh","second":"gg",third:null ...

  6. Javascript中理解发布--订阅模式

    Javascript中理解发布--订阅模式 阅读目录 发布订阅模式介绍 如何实现发布--订阅模式? 发布---订阅模式的代码封装 如何取消订阅事件? 全局--发布订阅对象代码封装 理解模块间通信 回到 ...

  7. 第一百二十九节,JavaScript,理解JavaScript库

    JavaScript,理解JavaScript库 学习要点: 1.项目介绍 2.理解JavaScript库 3.创建基础库 从本章,我们来用之前的基础知识来写一个项目,用以巩固之前所学.那么,每个项目 ...

  8. 《javascript个人理解,个人整理。》

    万事开头难. 本人做前端工程师,已几年,没有特别大的,已文字方式去做总结. 前段时间,早已经想好,但是迟迟没有去下笔!好在现在陆陆续续的写下去. 我知道这是一个很大的工程,但是我还是想做下去,不为别的 ...

  9. 【转】Javascript中理解发布--订阅模式

    Javascript中理解发布--订阅模式 阅读目录 发布订阅模式介绍 发布---订阅模式又叫观察者模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时 ...

随机推荐

  1. Linux磁盘管理之元数据、文件和目录、链接文件03

    一.存储设备分区简述 文件系统最终目的是把大量数据有组织的放入持久性的存储设备,如硬盘.硬盘存储能力具有持久性,不会因为断电而消失,存储量大,但读取速度慢.操作系统读取硬盘的时候,不会一个一个扇区读取 ...

  2. android 反编译apktool工具

    下载地址:http://pan.baidu.com/s/1bnHANtd 1.将编译的*.apk放在apktool的根目录下:2.双击“解压软件.bat”后,会提示完成:这样就反编译成功以:3.查看反 ...

  3. centos---无线上网的电脑所安装的虚拟机网络设置

    1.共享设置 找到本地的无线网卡,右键---属性---共享,设置如下 2.修改VMware Network Adapter VMnet1 选中VMware Network Adapter VMnet1 ...

  4. WinMain与wWinMain,win32的字符集问题

    刚接触win32开发的会发现,用vs新建一个win32项目默认代码里面的入口函数并不是WinMain而是_tWinMain或者wWinMain,这些都有什么区别呢? WinMain对应的是多字节字符集 ...

  5. MiniProfiler 兼容 Entity Framework 6

    一直以来都是在用MiniProfiler配合ASP.NET MVC做请求的监控. 在某项目升级Entity Framework 6之后,在执行查询时报错误: --------------无法将类型为“ ...

  6. spark-env.sh 配置示例

    #spark-env.sh JAVA_HOME=/home/hadoop/app/jdk1..0_60 SCALA_HOME=/home/hadoop/app/scala- SPARK_HOME=/h ...

  7. php5.3 fastcgi方式 安装以及和nginx整合

    注意:不要随便改变基础库的版本,否则会对别的软件产生编译错误 1.基础依赖包安装: cd /software/zlib- ./configure make make install cd /softw ...

  8. 第18章 图元文件_18.2 增强型图元文件(emf)(1)

    18.2 增强型图元文件(emf) 18.2.1 创建并显示增强型图元文件的步骤 (1)创建:hdcEMF = CreateEnhMetaFile(hdcRef,szFilename,lpRect,l ...

  9. 一个优秀的Unity3d开发者必备的几种设计模式

    Unity脚本编程 众所周知,unity的编程属于脚本化,脚本没有一个具体的概念跟架构, 导致在项目过程中,经常出现哪里需要实现什么功能,就随便添加脚本, 结果,就造成了一片混乱,不好管理. 更有甚者 ...

  10. S2结业考试的第一次测验

    错题分析: 1:java中的错误处理是通过异常处理模型来实现的,那么异常处理模块能处理的错误是: A:运行时错误 B:逻辑错误 C:语法错误 D:内部错误 正确答案是:A 解析:运行时异常都是Runt ...