一.数据类型 Javascript是一种弱类型的脚本语言,它一共有6种数据类型,又被分为基础数据类型,特殊数据类型,复合数据类型。 1.基础数据类型:数值型,字符串型,布尔型 2.特殊数据类型:null,undefined(区别在于null需要显性赋值,而undefined表示没有赋值) 3.复合(引用)数据类型:Object(数组是特殊的对象) 注:理解基础数据类型和引用数据类型的区别。如函数参数传递 二. 包装类和基础数据类型的关系 对于基础数据类型,都有相应的包装类(Object对象)与之对应。 Number,String,Boolean 注:基础数据类型会在一定条件下转化成基础类型包装对象 三.如何判断数据类型 (1) typeof(鸡肋) 仅可检测出以下6种数据类型:number, string, boolean, undefined, object, function(注意!) 因此判断基础数据类型可以如下: (2)instanceof 但对于复合数据类型(除了function),则全部返回object,无法通过typeof判断 可使用instanceof检测某个对象是不是另一个对象的实例,注意instanceof的右操作数必须为对象: instanceof不适合用来检测一个对象本身的类型 (3)constructor (4)Object.toString() call和apply的区别: 它们都是Function.prototype的方法(针对方法的),它是Javascript引擎内在实现的。 实际上这两个的作用几乎是相同的,要注意的地方是call(thisObj[,arg1[, arg2[,)中的arg参数可以是变量,而apply([thisObj[,argArray]])中的参数为数组集合 方法是借给另一个对象的调用去完成任务,原理上是方法执行时上下文对象改变了. (5)总结 四.数据类型转换 Javascript有两种数据类型的转换方法: 一种是将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换), 另一种方法是从一个值中提取另一种类型的值,并完成转换工作。 基本数据类型转换的如以下三种方法: 1.转换为字符型:String(); 例:String()的结果为"" 2.转换为数值型:Number(); 例:Number("")的结果为 3.转换为布尔型:Boolean(); 例:Boolean("aaa")的结果为true 从一个值中提取另一种类型的值的如以下方法: 1.提取字符串中的整数:parseInt(); 例:parseInt("zhang")的结果为 2.提取字符串中的浮点数:parseFloat(); 例:parseFloat("0.zhang")的结果为0. 另外总结各种类型转换的方法 Number转化成字符串:String(number) 、 Number.toString(2/8/);//分别代表二进制八进制十六进制默认(无参)进制 、 toFixed(3) //保留小数点后3位 toExponextial(3); //小数点前1位, 小数点后3位如var n=.; n.toExponextial(3);//1.e+5即1.X toPrecision(4); //返回指定位数 如果位数不够完全显示,则按指数表示法(3个方法都会4舍5入) 五.其他总结(容易忽视掉的东西) 1.parseInt的陷阱 以下部分摘自《Javascript精粹》: parseInt是一个将字符串转换为整数的函数。它遇到非数字时停止解析,所以parseInt("")与parseInt(" tons")产生相同的结果。如果该函数提示我们出现了额外文本就好了,但是它不会那么做。 如果该字符串第一个字符时0,那么该字符串将被基于八进制而不是十进制来求值。在八进制中,8和9不是一个数字,所以parseInt("")和parseInt("")产生0作为结果。这个错误导致程序解析日期和时间时出现问题。幸运的是,parseInt可以接受一个基数作为参数,如此一来parseInt("",)结果为8.我建议你总是提供这个基数参数。 另外。下面这个会显示1: alert(parseInt(0.)); 这是由于超过一定精度js就会用科学计数法记录数字,例如: alert(0.); 会得到1e-7,而parseInt会自动把参数转换成字符串的,那实际上就是: 最后得到1就不奇怪了。 使用parseInt必须记住里面参数是转换成字符串再做转换的。
推荐整理分享Javascript学习笔记一 之 数据类型(javascript教程推荐知乎),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:javascript基础笔记,javascript学习指南,javascript怎么学,javascript教程推荐知乎,javascript入门教程,javascript如何学,javascript基础笔记,javascript入门教程,内容如对您有帮助,希望把文章链接给更多的朋友!
Javascript学习笔记二 之 变量 一.关于Javascript变量声明在Javascript中,声明一个变量vara=1;也可以直接a=1;这两种表达是有区别的,一个是当前作用域的局部变量,另一个则是当前作用域
JavaScript的document对象和window对象详解 [document对象]该对象是window和frames对象的一个属性,是显示于窗口或框架内的一个文档。属性alinkColor活动链接的颜色(ALINK)anchor一个HTMI锚点,使用ANAME=标记
javascript Window及document对象详细整理 一、Window对象---------------------------------------------------------------------对象属性window//窗户自身window.self//引用本窗户window=window.selfwindow.name//为窗户命名window.