js-2变量类型和计算
一·顶级全局方法(Global):
1.typeof() --类型测试 2.parseInt() -- 转成整形
3.parseFloat() -- 转成浮点型 4.eval() -- 把字符串表达式当表达式
5.Number() -- 转成数字类型 6.String() -- 转成字符串
7.Boolean() -- 转成布尔型
二·变量类型:
1.变量类型按照存储方式分为:值类型 && 引用类型(对象 && 数组 && 函数)
2.js的十种变量类型:
标准类型:
(1)整型: var x = 10;
(2)浮点型: var x = 10.55;
(3)字符串: var x = ‘hello world’;
(4)布尔值: ture && false
复合类型:
(5)数组:
(一)数组的定义
var x = new Array(1,2,3);
var x = [1,2,3]; (常用)
(二)数组的类型:一维数组 && 二维数组 && 三维数组
(三)数组的输出方式:console.log(); && x[m](下标取值)
(6)对象:
(一)组成部分: 属性(特征) && 方法(行为)
(7)json(一般放置属性):
json对象:
一个对象以“{”开始,“}”结束。每个“名称”后跟一个“:”;“‘名称/值’ 对”之间使用“,”分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不需要。例如: var jsonObj={"str":"abc","intstr":1322323456,"max":6753,"time":"2012-10-19"};
json数组:
数组是值(value)的有序集合。一个数组以“[” 开始,“]”结束。值之间运用 “,”分隔。
例如:
json定义:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。json在传输过程中是以文本形式存在的,即字符串的形式。而在JS中需要操作的是对象,所以需要把json转换成对象,一般用“eval()”函数来实现,例如 :var obj = eval('(' + json+ ')');
特殊类型:
(8)NaN不是数字
(9)null: str='null'(赋空值)
(10)undefined未定义
3.typeof()类型测试
4.Js检验数组的方法
(1)constructor 构造方法 (不推荐使用)
语法:obj.constructor
(2) instanceof 实例化
三·变量的类型转换:
1.字符串转整形
praseInt()方法 :
Number()方法 : {不推荐使用: 当字符串内为正整数时才会成功}
字符串 - 0 : {不推荐使用: 当字符串内为正整数时才会成功}
2.整形转字符串
String() 方法 :
x+' ' :
3.所有类型转字符串 :
Boolean()方法 :
!!x :
4.json字符串转成json对象 :
(1) eval(‘y=’+x) ; (2) y = eval('('+x+')') ;
四·习题:
1. Js中使用typeof()能得到那些类型?
undefined string number boolen object function
2. 何时使用”===“何时使用“==”?
3.Js中有哪些内置函数?(详细见js-3的内置对象和事件对象)
数据封装类对象:object文件对象 Number数值对象 Array数组对象 Boolean布尔对象 String字符串对象
其他对象:Function函数对象 Date日期时间对象 math数学对象 RogExp Error Arguments
4.Js变量按照存储方式分为哪些类型?请描述其特点。
值类型 :
引用类型:(对象,数组,函数)
5.如何理解JSON?
json只不过是js的一个内置对象/数据格式,一般用于放置属性。
6.typeof与constructor与instanceof的区别?
typeof 一元运算符:
返回一个表达式的数据类型的字符串,返回结果为js基本的数据类型,
包括number,boolean,string,object,undefined,function.
语法:typeof(data) 或 typeof data
instanceof 二元运算符:
返回一个布尔值,该值指示一个对象是否为特定类的一个实例。
语法: object instanceof class
如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 class 存在于对象的原型链中(为 true),则该运算符返回 true。如果 object 不是 class 的实例,或 object 为 null,则该运算符返回 false。其本质是判断 class.prototype 是否存在于object对象的原型链上.
constructor 属性,存在于Object.prototype的属性:
返回对象的构造函数,
语法: object.constructor
返回值是函数的引用,不是函数名:
JavaScript 数组 constructor 属性返回 function Array() { [native code] }
JavaScript 数字 constructor 属性返回 function Number() { [native code] }
JavaScript 字符串 constructor 属性返回 returns function String() { [native code] }
如果一个变量是数组你可以使用 constructor 属性来定义。