JavaScript的理解记录(1)
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)的更多相关文章
- JavaScript的理解记录(6)
---接上篇: 四.CSS相关: 1.CSS不支持注释// 支持注释/* */ 2. 几种浏览器厂商前缀: Firefox : -moz-; Chrome:-webkit- ; IE: ...
- JavaScript的理解记录(5)
---接上篇: 三.DOM解析: 1.Document Object Model(DOM):是表示和操作HTML和XML文档内容的基础API;其中几个重要的类有:Document和Element,Te ...
- JavaScript的理解记录(4)
客户端JavaScript:客户端就是Web浏览器; 一. 前奏: Web文档(document):一些呈现静态信息的页面,虽然有的页面是会动的,但信息本身还是静态! Web应用:可以动态载入信息,相 ...
- JavaScript的理解记录(3)
---接上篇 一.函数: 1. 函数定义后直接执行:var f = (function(x){ return x*10}(10)); 2. 函数的调用有四种方式: 作为函数:作为方法:作为构造函 ...
- JavaScript的理解记录(2)
一.表达式与运算符: 1.对于属性访问表达式: var arr = {first:"hh","second":"gg",third:null ...
- Javascript中理解发布--订阅模式
Javascript中理解发布--订阅模式 阅读目录 发布订阅模式介绍 如何实现发布--订阅模式? 发布---订阅模式的代码封装 如何取消订阅事件? 全局--发布订阅对象代码封装 理解模块间通信 回到 ...
- 第一百二十九节,JavaScript,理解JavaScript库
JavaScript,理解JavaScript库 学习要点: 1.项目介绍 2.理解JavaScript库 3.创建基础库 从本章,我们来用之前的基础知识来写一个项目,用以巩固之前所学.那么,每个项目 ...
- 《javascript个人理解,个人整理。》
万事开头难. 本人做前端工程师,已几年,没有特别大的,已文字方式去做总结. 前段时间,早已经想好,但是迟迟没有去下笔!好在现在陆陆续续的写下去. 我知道这是一个很大的工程,但是我还是想做下去,不为别的 ...
- 【转】Javascript中理解发布--订阅模式
Javascript中理解发布--订阅模式 阅读目录 发布订阅模式介绍 发布---订阅模式又叫观察者模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时 ...
随机推荐
- python基础(五)缩进和选择
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 缩进 Python最具特色的是用缩进来标明成块的代码.我下面以if选择结构来举例. ...
- Android Paint类方法说明
* Paint类介绍 * * Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色, * 样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法, * 大体上可以分为两类, ...
- cookie实现自动登录
有很多Web程序中第一次登录后,在一定时间内(如2个小时)再次访问同一个Web程序时就无需再次登录,而是直接进入程序的主界面(仅限于本机).实现这个功能关键就是服务端要识别客户的身份.而用Cookie ...
- 完全变味的Windows Azure Marketplace中国版
国际版的Microsoft Azure很早就发布Marketplace了,里面有非常丰富的(超过3000款)第三方应用.服务和虚拟机镜像可以购买.其定价模式也非常灵活,支持按需付费(pay as yo ...
- 基于内容产品的MVP探索
王凯:凯叔讲故事的创始人 1.精益创业有以下3个过程: ——假设:价值假设和增长假设 ——认知:验证认知 ——行动:MVP(最小化可行产品) 2.互联网时代内容该如何定价: ——对于一家初创公司,最重 ...
- Object-C中self和super的区别
self与super的区别 原文CSDN evilotus 有所整理 **** 在ObjC中的类实现中经常看到这两个关键字"self"和"super",以以前o ...
- MySQL 5.7.x 配置教程
软件环境 操作系统:windows 10 x64 企业版 MySQL:mysql-5.7.11-winx64 MySQL官网下载:http://downloads.mysql.com/archives ...
- NODE.JS开发指南学习笔记2
1.核心模块 核心模块是Node.js的心脏,由一些精简高效的库组成,为其提供了基本的API.2.全局对象 global.所有的的全局变量都是其属性.其根本的作用是作为全局变量的宿主.3.全局变量 1 ...
- VS中的jQuery
jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr(),attr()有4个表达式.1. attr( 属性名 ...
- java 24 - 3 GUI之添加按钮
需求:把按钮添加到窗体,并对按钮添加一个点击事件. A:创建窗体对象 B:创建按钮对象 C:把按钮添加到窗体 D:窗体显示 注意:这里对按钮添加点击事件,同样使用监听器. 但是,这里的按钮是组件,所以 ...