声明变量类型 当您声明新变量时,可以使用关键词 "new" 来声明其类型: var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object; JavaScript 变量均为对象.当您声明一个变量时,就创建了一个新的对象.…
Javascript 由于各种各样的原因,在判断一个变量的数据类型方面一直存在着一些问题,其中最典型的问题恐怕就是 typeof null 会返回 object 了吧.因此在这里简单的总结一下判断数据类型时常见的陷阱,以及正确的处理姿势. javascript 数据类型 MDN 数据类型 数据类型 这里先谈一下 javascript 这门语言的数据类型.javascript 中有七种数据类型,其中有六种简单数据类型,一种复杂数据类型. 六种简单数据类型 String Number Boolean…
不同点:可变性,与作用域的关系. 可变性:const定义的变量都不可变,而var和let可以任意更改. const 只能在声明时被初始化一次,之后不允许将全新的值赋值给const变量.但可以修改const变量已经存在的值. 词法作用域: var是在距离最近的函数或全局词法环境中定义变量(忽略块级作用域,例如for循环),const和let至今在最近的词法环境中定义变量(可以是块级作用域.循环内.函数内.全局环境内). const GLOBAL_NINJA="Yoshi"; functi…
var声明变量的作用域限制在其声明位置的上下文中 var x = 0; // x是全局变量,并且赋值为0. console.log(typeof z); // undefined,因为z还不存在. function a() { // 当a被调用时, var y = 2; // y被声明成函数a作用域的变量,然后赋值成2. console.log(x, y); // 0 2 function b() { // 当b被调用时, x = 3; // 全局变量x被赋值为3,不生成全局变量. y = 4;…
我们先来看一道面试题,大家猜想一下,下面这段代码,打印出来的结果是什么 var name = 'World!'; (function () { if (typeof name === 'undefined') { var name = 'Jack'; console.log('Goodbye ' + name); } else { console.log('Hello ' + name); } })(); 这里打印出来的结果为什么是 Goodbye Jack, 而不是Hello World呢.…
6.1 string → number 先来学习一个语句,这个语句和alert差不多,也是弹窗,弹的是输入框: 1    prompt("请输入你的电话","139"); 这些小功能,就叫做程序给我们提供的API,每个API都有自己不同的语法. 1    prompt(“提示文本”,”默认值”); 默认值可以省略. 可以把用户输入的值,存入变量: 1    var a = prompt("请输入你的电话","139"); 2 …
<JavaScript启示录>这本书中提出:JavaScript中,对象为“王”(JavaScript里的几乎所有东西都是对象或者用起来像对象). 飞燕草对JavaScript最深刻的理解--也是这么久以来最有收获的一个认识:JavaScript的值有两种--原始值和对象(原始值的集合)组成.再直接一点,全部都可以理解为对象,原始值虽然不是对象,但是原始值拥有等效包装器对象,按照这么说的话,在JavaScript中真的可以说是对象为“王”. 一:原始值(或简单值) 1.原始值有5种:5(num…
var 如果使用关键字 var 声明一个变量,那么这个变量就属于当前的函数作用域,如果声明是发生在任何函数外的顶层声明,那么这个变量就属于全局作用域. let 1.let 声明的变量具有块作用域的特征. 2.在同一个块级作用域,不能重复声明变量. function foo(){ let a = 1; let a = 2;//Uncaught SyntaxError: Identifier 'a' has already been declared } 3.let 声明的变量不存在变量提升,换一种…
var 上一篇文章有讲过,是js定义变量的关键词. 但是在es6中,新添加了两个关键词,用于变量声明的关键词:let 和const 接下来就说一下var let 和const的区别: 首先说var 用var定义变量,可以重新赋值,当我在函数里赋值后,调用函数后,同时改变了局部变量的值. 接下来说let 用let不能重复声明一个变量. 当我在函数里重新对同一变量进行赋值后,并不会影响我函数外的变量.let是有块级作用域的. 最后来说const const定义变量不能重复赋值.并且,const和le…
使用JavaScript变量时是无法判断出一个变量是0 还是“”的 这时可用typeof()来判断变量是string 还是number来区分0和“”, typeof(undefined) == 'undefined' typeof(null) == 'object' typeof("") == 'string' typeof(0) == 'number' typeof(false) == 'boolean'…