前端-JavaScript1-5——JavaScript之变量的类型
5.1 概述
基本类型5种
number 数字类型
string 字符串类型
undefined undefined类型,变量未定义时的值,这个值自己是一种类型
boolean 布尔类型,仅有两个值true 和 false,讲if语句时我们细说
null null类型,这个值自己是一种类型,遇见时我们细说
引用类型
讲到再说
至于什么是引用类型,我们到时候见到再说。
5.2 typeof关键字
这个关键字,用来检测一个变量的类型。
1 var a = 100; 2 console.log(typeof a); |
5.3 number类型
所有的数字都是number类型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
JS中所有的数字都是number类型的,不在细分为整形int、浮点型float这些乱七八糟的东西。
number类型的东西:所有数字(不分正负、不分整浮、不分大小、不分进制)、Infinity、NaN。
5.4 string类型
1 var m1 = "哈哈"; 2 var m2 = "123"; 3 var m3 = ""; //空字符串,也是字符串 4 console.log(typeof m1); 5 console.log(typeof m2); 6 console.log(typeof m3); |
这个变量是什么类型,和赋的值有关系,而和定义的时候是没有关系的。定义的时候,都是用var关键字定义的。
1 2 3 4 |
我们说js这个语言叫做动态数据类型,原因就在这里,就是赋值的时候就决定这个变量的类型了。甚至可以改变这个变量的值,为其他类型的值。变量的类型是自动检测的,而不是人规定的。
5.5 undefined类型
之前说过,一个变量只var过,没有赋初值,它的默认值是undefined;
这个undefined是自成一家,自己是自己的类型,它的类型也叫作undefined。undefined类型的值就只有undefined一个。
1 var nn; //我只定义了,没有赋初值,所以就是undefined,类型也是undefined 2 console.log(nn); 3 console.log(typeof nn); |
5.6 加号
加号是一个运算符,我们先提前说一下。
加号两边都是数字的时候,那么就是数学加法;两边不都是数字的时候,那么就是连字符,结果是字符串。
1 console.log("你" + "好"); |
1 console.log(1 + "2"); |
因为2被引号引起来了,所以就是字符串,所以+就是连字符
1 var a = "1"; 2 var b = "2"; 3 console.log(a + b); |
1 var a = 1; 2 var b = 2; 3 console.log("a" + b); //a2 |
多个加号,从左算到右:
1 var a = 1; 2 var b = 2; 3 var c = 3; 4 console.log("a" + a + b + "c"); |
1 var a = 1; 2 var b = 2; 3 var c = 3; 4 console.log(a + b + "c"); |
欧克了,下面附上代码
变量还是字符串
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<script type="text/javascript">
// var a = 100;
// console.log("a"); var a = "我爱中国";
console.log(a);
</script>
</head>
<body> </body>
</html>
typeof检测类型
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<script type="text/javascript">
//下面定义的变量都是number类型
// var a = 100;
// var b = 234243245345;
// var c = -345345435435;
// var d = 345.3245234;
// var e = .5e6;
// var f = 0xff;
// var g = 017;
// var h = Infinity;
// var i = NaN; // console.log(typeof a);
// console.log(typeof b);
// console.log(typeof c);
// console.log(typeof d);
// console.log(typeof e);
// console.log(typeof f);
// console.log(typeof g);
// console.log(typeof h);
// console.log(typeof i); //以下都是字符串类型的
// var m1 = "哈哈";
// var m2 = "123";
// var m3 = ""; //空字符串,也是字符串
// console.log(typeof m1);
// console.log(typeof m2);
// console.log(typeof m3); // 动态数据类型
// var mm = 123;
// console.log(typeof mm);
// mm = "哈哈";
// console.log(typeof mm); // undefined
var nn;
console.log(nn);
console.log(typeof nn);
</script>
</head>
<body> </body>
</html>
加号的意义
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<script type="text/javascript">
// console.log("你" + "好");
// console.log(1 + 2); //3 // console.log(1 + "2"); //12 // var a = "1";
// var b = "2";
// console.log(a + b); //12 // var a = 1;
// var b = 2;
// console.log("a" + b); //a2 // var a = 1;
// var b = 2;
// var c = 3;
// console.log("a" + a + b + "c"); var a = 1;
var b = 2;
var c = 3;
console.log(a + b + "c");
</script>
</head>
<body> </body>
</html>
欧了,下一篇。
前端-JavaScript1-5——JavaScript之变量的类型的更多相关文章
- JavaScript中变量的类型
变量的类型是指变量的值所属的数据类型,可以是数值型.字符串型和布尔型等,因为JavaScript是一种弱类型的程序语言,所以可以把任意类型的数据赋值给变量. 下面是一个关于变量类型的例子.在这个例子中 ...
- 前端知识体系:JavaScript基础-变量和类型
前端工程师自检清单 1. JavaScript规定了几种语言类型 2. JavaScript对象的底层数据结构是什么 3. Symbol类型在实际开发中的应用.可手动实现一个简单的 Symbo 4. ...
- JavaScript基础系列(变量与类型)
以下内容将JavaScript简称为JS 打开本文时不管你是零基础的初学者还是其他语言的老兵,我都想说程序语言的基础支撑起了整个网络世界,不把这些基础学透之后稍复杂的内容会让你寸步难行. 现在先给编程 ...
- JavaScript使用构造函数获取变量的类型名
在JavaScript中,如何准确获取变量的类型名是一个经常使用的问题. 但是常常不能获取到变量的精确名称,或者必须使用jQuery 中的方法,这里 我通过 typeof ,jQuery.type 和 ...
- JS面试题-<变量和类型>-JavaScript的数据类型
前言 整理以前的面试题,发现问js数据类型的频率挺高的,回忆当初自己的答案,就是简简单单的把几个类型名称罗列了出来,便没有了任何下文.其实这一个知识点下可以牵涉发散出很多的知识点,如果一个面试者只是罗 ...
- javascript中检测一个变量的类型
/** * 怎么检测一个变量的类型? * 在js中检测对象类型主要有三种:typeof, instanceof, constructor, 这几种都可以检测对象的类型. * 另外还可以适应jQuery ...
- 玩转JavaScript OOP[0]——基础类型
前言 long long ago,大家普遍地认为JavaScript就是做一些网页特效的.处理一些事件的.我身边有一些老顽固的.NET程序员仍然停留在这种认知上,他们觉得没有后端开发肯定是构建不了系统 ...
- Python开发【前端】:JavaScript
JavaScript入门 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本 ...
- JavaScript 中变量、作用域和内存问题的学习
这是我学习JavaScript的第二篇文章,之前做过几年的Java开发,发现JavaScript虽然也是面向对象的语言但是确实有很多不同之处.就本篇博客,主要学习总结一下最近学习到的JavaScrip ...
随机推荐
- 模型-视图-控制器模式(MVC模式,10种常见体系架构模式之一)
一.简介: 架构模式是一个通用的.可重用的解决方案,用于在给定上下文中的软件体系结构中经常出现的问题.架构模式与软件设计模式类似,但具有更广泛的范围. 模型-视图-控制器模式,也称为MVC模式.是软件 ...
- PAT 1065 A+B and C (64bit)
1065 A+B and C (64bit) (20 分) Given three integers A, B and C in [−], you are supposed to tell whe ...
- element-ui <el-input> +<el-tree>使用
<template> <!-- 需求:通过点击<el-input> 将<el-tree>树型结构打开,选中<el-tree>某个值显示在<e ...
- python安装requests
下面是requests的安装步骤: 1.如果系统已经装了Python,把D:\python3.6.5\Scripts添加到系统的环境变量PATH后面 2.cmd下cd到这个目录下D:\Python3. ...
- Edge 浏览器 调用
ShellExecute(0, 'open', PChar('Microsoft-Edge:' + Edit1.Text), nil, nil, SW_SHOW);
- 3、调试AngularJs
1.获取Angular元素: angular.element(document.querySelector('html')); a.ele.scope() 提取它的$scope对象 b.ele.co ...
- noj电子老鼠走迷宫(深搜dfs)超时错误
1042.电子老鼠闯迷宫 时限:1000ms 内存限制:10000K 总时限:3000ms 描述 有一只电子老鼠被困在如下图所示的迷宫中.这是一个12*12单元的正方形迷宫,黑色部分表示建筑物,白色 ...
- setfacl语法
1.setfacl的用途setfacl命令可以用来细分linux下的文件权限. chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限. 换句话说 ...
- [转]腾讯研发类笔试面试试题(C++方向)
https://blog.csdn.net/Xiongchao99/article/details/73381280 1.C和C++的特点与区别? 答:(1)C语言特点:1.作为一种面向过程的结构化 ...
- 3.5 unittest生成测试报告HTMLTestRunner
3.5 unittest生成测试报告HTMLTestRunner 前言批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的.unittest里面是不 ...