首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《JavaScript高级程序设计(第四版)》学习笔记(二)第3章

初学时,可能会很疑惑,为什么没报错呢,这就是变量提升的魅力 在函数执行的前一刻,会将所有的变量声明提到最前面 注意:仅仅是声明噢 上面的代码就可以转化成 function foo() { var...注意:typeof null返回object,因为 null被认为是一个对象 3.4.2 undefined 类型 当变量为初始化时,相当于给变量赋予了 undefined 值 let message...类型只有一个值 null,逻辑上,null值表示一个指针对象 在定义将来要保存对象值的变量时,建议使用 null 来初始化,不要使用其他值 关于 null 和 undefinedundefined...undefined 转为 NaN null 转为 0 对于字符串的转换比较复杂 有数值就是数值本身,八进制,十六进制注意转为十进制 空字符串("")转为 0 对象先调用valueOf()方法,如果为...转化为字符串 第一种方法也是最常用最通用的方法toString 多数情况下,toString()接收任何参数,当操作的值为数值时,传入的参数表示转化为的数值对应的进制 let num = 10;

1.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

面试官:JavaScript的数据类型你了解多少?

假设字符串中的第一个字符是数值字符,parseInt()函数也能识别不同的整数格式(十进制、八进制、十六进制)。换句话说,如果字符串以"0x"开头,就会被解释为十六进制整数。...如果字符串以"0"开头,且紧跟着数值字符,在非严格模式下会被某些实现解释为八进制整数。...(没错,字符串值也有 toString()方法,该方法只是简单地返回自身的一个副本。)null 和 undefined值没有toString()方法。 多数情况下,toString()接收任何参数。...如果值有toString()方法,则调用该方法(传参数)并返回结果。 如果值是null,返回"null"。 如果值是 undefined,返回"undefined"。...如果其中有一个是数字,另外一个是undefined、null、布尔型或数字,则会将其转换成数字进行加法运算,对象的情况还是参考上一条规则。

60610

JavaScript-数据类型

4.3 数据类型及其对象的转换规则 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非字符串 ""(空字符串) Number 任何非0数值...5.1 清除变量内容 包含 null 的变量包含有效的数字、字符串、布尔值、数组或对象。通过为变量赋 null值可以清除变量的内容(不删除变量)。...这样做不仅可以体现null作为对象指针的惯例,而且也有助于进一步区分null和undefined。...具有前导“0”并包含数字“8”和/或“9”的数字将被解释为十进制数字。 ? 8.2 浮点数值 浮点值可以是带有小数部分的整数。此外,还可以用科学计数法来表示它们。...包含小数点且小数点前面有单个“0”的数字被解释为十进制浮点数。

85720

js中将json字符串转换成json对象_字符串零终止符

今天遇到一个奇怪的问题,解析二维码后获得了一个JSON字符串,将JSON字符串转换成JSON对象的时候报错了。...解决方法: 数据如下: {"ID":"98-FA-9B-B7-D2-E7"} 最后解释为什么eval转换JSON对象需要加一对小括号,因为加上圆括号的目的是迫使eval函数在处理JavaScript...举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。...代码如下: alert(eval("{}"); // return undefined alert(eval("({})");// return object[Object] 版权声明:本文内容由互联网用户自发贡献...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.3K20

2020年前端面试题集锦(奥利给!!!)

基础知识点与高频考题 JavaScript基础console.log(1 2 > 1); // 写出代码执行结果,并解释为什么// 答案与解析 true...1 ,因此结果是false/*********************************/[typeof null, null instanceof Object] // 写出代码执行的结果,并解释为什么...//答案与解析 [“object”, false] 1)typeof操作符返回一个字符串,表示未经计算的操作数的类型 类型 结果 Undefinedundefined” Null “object”...由于 null 代表的是指针(大多数平台下值为 0x00),因此,null的类型标签也成为了 0,typeof null就错误的返回了"object"。...a是字符串,b和c是Date对象,并且b代表的是1970年那个初始化时间,而c代表的是当前时间。

30120

【说站】javascript原始类型是什么?如何鉴别?

1、分为boolean布尔、number数字、string字符串、null类型、undefined未定义。...boolean布尔,值为 true 或 false   number数字,值为任何整型或浮点型数值 string字符串,值为由单引号或双引号包围的单个字符或连续字符(JavaScript 区分字符类型...) null类型,该原始类型只有一个值:null undefined未定义,该原始类型只有一个值:undefined 2、鉴别方法,使用typeof操作符和原始方法。...console.log(undefined==null);   //true console.log(undefined===null);   //false 因为双等号在比较时,会将变量进行强制转换。...(2)原始方法 虽然字符串、数字、布尔是原始类型,但是他们也拥有方法。特别是字符串有很多方法。

31930

js的数据类型有哪些?

数据类型 一、数据类型: 基本数据类型(值类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)。...使用typeof检查一个布尔值时返回boolean Undefined未定义: js中输出未被赋值的被定义变量结果是UndefinedUndefined类型的值只有一个。...使用typeof检查时值时返回undifined Null对象: Null(值)类型的值只有一个,null,用来表示一个为的对象,使用typeof检查时值时返回object,因为null表示对象...,则转换为NaN 如果字符串是一个空串或者全是空格的字符串,则转换为0 -布尔 –> 数字 true转成1;false转成0 -null–> 数字 0 -undefined–>数字 NaN...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

3.1K30

前端学习(27)~js学习(五): typeof和数据类型转换

此时它将会把数字转换为指定的进制,如果指定则默认转换为 10 进制。...但是对于 null 和 undefined,则不会调用 toString()方法。它会将 null 直接转换为 "null"。将 undefined 直接转换为 "undefined"。...(因为是先将b转为字符串"undefined",然后然后再操作) (3)自动带有截断小数的功能:取整,四舍五入。...情况三:null 和 undefined 都会转换为 false。 情况四:引用数据类型会转换为 true。注意,数组[]和对象{},转换结果也是 true,这个一点,很多人都不知道。...情况三: null + 数字 等价于:0 + 数字 情况四: undefined + 数字 计算结果:NaN 运算符:-、*、/ 1、任何非 Number 类型的值做-、*、/运算时,会将这些值转换为Number

1.2K20

SQL函数 %SQLUPPER

这个附加的空格会导致 NULL 和数值被整理为字符串。SQL 在将数字传递给函数之前将数值转换为规范形式(删除前导零和尾随零、扩展指数等)。 SQL 不会将数字字符串转换为规范形式。...当 %SQLUPPER 将空格附加到(零长度)字符串时,它会将空格加上空字符串的内部表示形式 $CHAR(0) 进行整理,从而导致字符串长度为 2。...%SQLUPPER 在数据的开头添加一个前导空格,这会强制将数字数据和 NULL 值解释为字符串。...不强制将数字解释为字符串。 LOWER 和 LCASE:将字母转换为小写,对数字字符、标点字符、嵌入空格以及前导和尾随空格没有影响。不强制将数字解释为字符串。 %SQLSTRING:转换字母大小写。...但是,它会在数据的开头添加一个前导空格,这会强制将数字数据和 NULL 值解释为字符串

1.4K10

20个稀奇古怪的 JavaScript 表达式,你要挑战回答一下嘛

[,,,].length [,,,] 输出一个有三个槽的数组。最后一个逗号是尾部的逗号。 你可以这么想。...""是一个空字符串,它是一个虚值。 注意:0、空字符串""、null 和undefined都是虚值。 ! 是逻辑上的 "非 "运算符,把 true 变成 false,反之亦然。 如果我们使用两次!...[] 数组都是真值,甚至是数组。所以!![]将返回true。 !![]; // -> true 而+号会将真值转换为其数字表示: 1,所以 +!![] 返回 1。...""- 1 虽然加法运算符(+)同时用于数字和字符串,但减法运算符(-)对字符串没有用处,所以JavaScript将其解释为数字之间的操作。一个字符串会被类型强制为0。...0、空字符串""、null和undefined都是虚值。 非零的数字是真值。 所以: !5 ==> 0 !!

49620

js 数据类型笔记

):表示真伪的两个特殊值,即true(真)和false(假) 1.4undefined:表示“未定义”或不存在 1.5null:表示值, 1.6对象(object):各种值组成的集合,分成三个子类型。...// "undefined" 二、null, undefined 和布尔值 1、null, undefined转数字化 null 转为数字是 0 undefined 转为数字是 NAN 2、null,...undefined的使用场景 null表示值。...undefined表示“未定义”,场景有4个 2.1变量声明了,但没有赋值 var i; i // undefined 2.2调用函数时,应该提供的参数没有提供,该参数等于 undefined...JavaScript规定,如果行首是大括号,一律解释为语句(即代码块)。 如果要解释为表达式(即对象),必须在大括号前加上圆括号。

1.9K20

【JavaScript 教程 | 网道】笔记

(ES6 又新增了第七种 Symbol 类型的值,本教程涉及。) 数值(number):整数和小数(比如 1 和 3.14)。 字符串(string):文本(比如 Hello World)。...Number(undefined); // NaN 5 + undefined; // NaN null 表示值,即该处的值现在为。...function f() {} f(); // undefined 如果 JavaScript 预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值。...undefined null false 0 NaN “”或’’(空字符串) 注意,数组([])和对象({})对应的布尔值,都是 true。...parseInt("0x10"); // 16 parseInt("011"); // 11 // 对于那些会自动转为科学计数法的数字,parseInt会将科学计数法的表示方法视为字符串,因此导致一些奇怪的结果

11310

JS快速入门(一)

console.log(a); //undefined 类型:Null var timer = null; console.log(timer); 对象类型:Object 标签、数组、对象、Math...,会将数字转换成字符串,然后和另外一个字符串进行拼接; var num1 = '123' var num2 = 12 var num3 = num1 + num2 console.log(num3...) // 结果:'12312' 字符串和数字进行减、乘、除运算,以及大小比较时,会将字符串转换成数字,再和 另一个数字进行运算或比较 var num1 = '10' var num2 = 1 var...,非空字符串转换成布尔值的时候都是true 任何数组(即使是数组),任何对象(即使是对象) 转成布尔值的时候都是 true var a = 0 if (a) { console.log('...函数在调用的时候,会将调用时给定的参数和定义时设定的参数依次绑定。

2.6K30

大话 JavaScript(Speaking JavaScript):第六章到第十章

ECMAScript 语言类型包括: 未定义、值 布尔值、字符串、数字和 对象 因此,构造函数在技术上并没有引入新的类型,尽管它们被认为有实例。...相比之下,null表示。...例如,乘法运算符(*)的操作数会被强制转换为数字: > '3' * '4' 12 另一个例子,如果操作数之一是字符串,加号运算符(+)会将另一个操作数转换为字符串: > 3 + ' times' '3...例如,程序通常会将用户输入(来自在线表单或 GUI 小部件)作为字符串接收,即使用户输入的是一个数字。如果您将一个数字作为字符串处理,您将不会收到警告,只会得到意外的结果。...根据前面的表格,以下是所有的假值: undefined、null 布尔值:false 数字:0、NaN 字符串:'' 所有其他值,包括所有对象,甚至是对象、数组和new Boolean

21610

【面试利器】原生JavaScript灵魂拷问,你能答上多少(一)

除值 0,-0,null,NaN,undefined,或空字符串("") 为 false 外,其余全为 true 转化为string 显式:String 方法可以显式将值转换为字符串 隐式:+ 运算符有一侧操作数为...string 类型时 转化为 string 类型的本质:需要转换为string的部分调用自身的toString方法(null/undefined返回字符串格式的null和undefined) 当被转换值为对象时...'' 对象不做赘述。...答案 "[object Object]" 复制代码 [] + [] 类似 1 两个数组都执行 toPrimitive,返回两个空字符串。...友情提示:由于 {} 可以解释为代码块的形式,有些需要注意的地方,举个栗子: 对象调用方法时:{}.toString() 会报错 箭头函数返回对象时:let getTempItem = id =>

85220

20个稀奇古怪的 JavaScript 表达式

[,,,].length [,,,] 输出一个有三个槽的数组。最后一个逗号是尾部的逗号。 你可以这么想。...""是一个空字符串,它是一个虚值。 注意:0、空字符串""、null 和undefined都是虚值。 ! 是逻辑上的 "非 "运算符,把 true 变成 false,反之亦然。 如果我们使用两次!...[] 数组都是真值,甚至是数组。所以!![]将返回true。 !![]; // -> true 而+号会将真值转换为其数字表示: 1,所以 +!![] 返回 1。...""- 1 虽然加法运算符(+)同时用于数字和字符串,但减法运算符(-)对字符串没有用处,所以JavaScript将其解释为数字之间的操作。一个字符串会被类型强制为0。...0、空字符串""、null和undefined都是虚值。 非零的数字是真值。 所以: !5 ==> 0 !!

36920

javascript 隐式转换_mysql隐式转换

二、 JavaScript 隐式转换 在js中,当运算符在运算时,如果两边数据统一,CPU就无法计算,这时我们编译器会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型再计算。...>运算符 当关系运算符两边有一边是字符串的时候,会将其他数据类型使用Number()转换,然后比较关系↓ console.log("2">10 );//false Number(2)>10=2 >10=...第一个代码示例是一个块,它可能也不存在,使表达式相同+[],意思是“数组转换为数字”。...实例: 数组的toString()方法会得到空字符串,而对象的toString()方法会得到字符串[object Object] (注意第一个小写o,第二个大写O) ==...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.5K10
领券