var testNull=null
var 测试编号=123
var testString="你好,世界"
var testBoolean=true
var testObject={}
var 测试数组=[]
var testSymbol=符号(1)
console.log(typeof testUndefined) //结果:未定义
console.log(typeof testNull) //结果:对象
console.log(typeof testNumber) //结果:数字
console.log(typeof testString) //结果:字符串
console.log(typeof testBoolean) //结果:布尔值
console.log(typeof testObject) //结果:对象
console.log(typeof testArray) //结果:对象
console.log(typeof testSymbol) //结果:symbol可以看到Null,Array使用typeof运算符判断返回的所有对象都是对象,使用Object.prototype.toString.call(variable)进行准确判断。如下:
console.log(Object.prototype.toString.call(testNull)) //结果:[object Null]
console.log(Object.prototype.toString.call(testArray)) //结果:[object Array]未定义类型
声明未初始化变量的默认值是undefinedNull 类型
从逻辑角度看,null值代表一个空对象指针,可以用来初始化一个对象。布尔类型
布尔类型,后跟两个:true 或false。一般用于条件控制语句。所有其他类型都可以转换为布尔值。规则如下:
转换规则编号类型
(1) ECMAScript 中的数字类型以IEEE754 格式表示。整数类型包括十进制、八进制和十六进制。默认为十进制,数值计算和赋值时会转为十进制结果。如下:var num10=100
varnum8=070
varnum16=0xA
console.log(num10) //100
控制台.log(num8) //56
console.log(num16) //10需要注意的是,严格模式下,八进制会报错。未捕获的SyntaxError: 在严格模式下不允许使用八进制文字。
(2)采用IEEE754格式的浮点计算存在一个常见问题,即小数位有计算精度。造成这个结果的原因是因为小数的计算机计算过程中存在以下步骤:
1 转换为二进制
2 采用科学技术方法
3 以IEEE 754 形式表示
1和3的过程中会出现精度损失的问题,比如十进制中的0.7可以准确的表示一个小数,但是转换成二进制时,却是一个循环小数。这导致精度损失的问题。
有很多解决方案。这是其中之一:您可以通过toPrecision 指定小数位。举例如下:
//浮点计算精度问题
让数字=0.2 + 0.4
console.log("num:", num) //num: 0.6000000000000001
让toPrecision=num.toPrecision(1)
console.log("toPrecision: ", toPrecision) //toPrecision: 0.6(3) 值范围
ECMAScript 不可能保存所有范围内的值。它的最大值和最小值存储在Number中的两个属性中。如下:
console.log(Number.MIN_VALUE) //5e-324
console.log(Number.MAX_VALUE) //1.7976931348623157e+308(4) NaN
代表非数字值。您可以使用isNaN 来确定某个值是否为非数字值。如下:
console.log(isNaN(num10)) //false
console.log(isNaN("hello")) //true(5) 数值转换
数值转换共有三种方法:Number()、parseInt()、parseFloat()
数字()
我们直接看例子:
console.log(数字(true)) //1
console.log(数字(假)) //0
console.log(Number("123")) //123
console.log(Number("123hello123")) //NaN
console.log(Number({a: 1})) //NaN
console.log(Number(未定义)) //NaN
console.log(Number(null)) //0parseInt()
要转换为整数,parseInt的第二个参数可以指定转换的基数(base)。如果不指定,第一个参数从0开始,基数可以指定为8。示例如下:
console.log(parseInt(070)) //56 基数8
console.log(parseInt("010", 10)) //10
console.log(parseInt("123hello", 10)) //123
console.log(parseInt("0x")) //NaN
console.log(parseInt("0xA")) //10 基数为16parseFloat()
转换为浮点数时,只会解析小数。十六进制会被解析为0,因为它是从0开始的。如果有多个小数点,则只取第一位小数。如下:
console.log(parseFloat("123.456.78")) //123.456
console.log(parseFloat("0xA")) //0
console.log(parseFloat("22.5")) //22.5
console.log(parseFloat("1.23e2")) //123String类型
零个或多个16 位Unicode 字符的序列,即字符串。用单引号或双引号括起来。对象类型
对象是数据和函数的集合。由于Object 是ECMAScript 中所有对象的基础,因此所有对象都具有这些基本属性和方法。创建方法可以通过字面量或构造函数,如下: var obj1={} //literal
var obj2=new Object() //构造函数Object的实例属性和方法如下:
(1)构造函数
构造函数
(2) hasOwnProperty(属性名称)
用于检查给定属性是否存在于当前对象实例中(而不是存在于实例的原型中)。有点拗口。我们直接看例子:
var 对象={
name: "你好,世界",
say: 函数() {
console.log("说.")
}
}
obj.prototype={
getName: 函数() {
console.log(这个.name)
}
}
//用于检查当前对象实例中是否存在给定属性(而不是实例的原型中)。
console.log(obj.hasOwnProperty("toString")) //false
console.log(obj.hasOwnProperty("getName")) //false
console.log(obj.hasOwnProperty("say")) //true(3) isPrototypeOf()
测试一个对象与另一个对象一起挂载在原型链上。如下:
//用于测试一个对象是否存在于另一个对象的原型链上的方法。费菲弗福姆
函数费用(){
//.
}
函数Fi() {
//.
}
Fi.prototype=new Fee();
函数Fo() {
//.
}
Fo.prototype=new Fi();
函数Fum() {
//.
}
Fum.prototype=new Fo();
var fum=new fum();
console.log(Fi.prototype.isPrototypeOf(fum)) //true(4) toString()
返回对象的字符串表示形式
(5) 值()
功能类似于toString()
OK,本文到此结束,希望对大家有所帮助。
【第三章(2):基础理论要点总结(学习笔记)】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
开始了新的章节内容,期待了解更多知识!
有17位网友表示赞同!
这个标题让我想起了刚开始学新事物时的感觉,充满好奇心。
有7位网友表示赞同!
“基本概念” klingt einfach und wichtig! Bis zum Ende des Kapitels sind wir bestimmt schlauer!
有10位网友表示赞同!
学习笔记真好,可以帮助巩固知识点。
有16位网友表示赞同!
第三章的第二部分,是不是越来越精彩了?
有6位网友表示赞同!
我期待着学习这些基础概念!
有11位网友表示赞同!
希望能够从这些基本概念中获得一些启发。
有12位网友表示赞同!
学习笔记记录下来,方便日后回顾和复习。
有20位网友表示赞同!
基础扎实才能学得更深、更快!
有14位网友表示赞同!
“基本概念” 是所有知识的基础,非常重要!
有11位网友表示赞同!
这个标题很有吸引力,让我忍不住想往下看!
有11位网友表示赞同!
学习笔记可以帮助我们更好地理解和掌握知识。
有12位网友表示赞同!
期待能从这些基本概念中获取有用的信息!
有20位网友表示赞同!
阅读这种学习笔记最爽的就是吸收新的知识点。
有6位网友表示赞同!
这个标题让我感到很有启发,可以帮助我更加深入地了解某个主题!
有19位网友表示赞同!
希望笔记能够清晰地解释这些基本概念!
有12位网友表示赞同!
从基本概念入手,系统学习,这是很重要的方法!
有7位网友表示赞同!
基础知识很重要,它是后续学习的基石。
有7位网友表示赞同!
"第三章" 和 "第二部分" 的结构看起来很有条理!
有15位网友表示赞同!