从零开始学 Web 之 JavaScript(二)变量
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程。此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注。在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。现在就让我们一起进入 Web 前端学习的冒险之旅吧!
一、变量
1、变量的声明和初始化
var number; // 变量的声明,没有赋值
var name = "Daotin"; // 变量的初始化
2、命名规则(驼峰命名)
- 变量命名必须以字母或是**下标符号 "_" 或者 "$" 为开头。
- 变量名长度不能超过 255 个字符。
- 变量名中不允许使用空格,首个字不能为数字。
- 不用使用脚本语言中保留的关键字及保留符号作为变量名。
- 变量名区分大小写。
- 汉语可以作为变量名。但是不建议使用!
3、数据类型
查看数据类型的方法: typeof name;
或 typeof(name);
PS:null 的数据类型是 Object。
基础数据类型:
String,Number,Boolean,unsigned、null
复杂数据类型:
Object,function,Array,Date,Error 等
4、Number
4.1、进制
var num = 10; // 十进制
var num = 012; // 八进制:0开头
var num = 0xA; // 十六进制:0x开头
4.2、数值范围
最小值: Number.MIN_VALUE
,这个值为: 5e-324
最大值: Number.MAX_VALUE
,这个值为: 1.7976931348623157e+308
无穷大: Infinity
无穷小: -Infinity
4.3、不要用小数去验证小数
var num1 = 0.1;
var num2 = 0.2;
console.log(num1+num2); // 0.30000000000000004
console.log(0.07*100); // 7.000000000000001
4.4、NaN
NaN:(Not a Number)本来应该得到一个数值的,但是结果却并不是一个数值。
console.log("abc"/18); // 结果是NaN
1、undefined 和任何数值计算为 NaN;
2、NaN 与任何值都不相等,包括 NaN 本身。
3、isNaN(); 任何不能被转换为数值的值都会导致这个函数返回 true。
5、String
- 使用单引号或者双引号均可。
- 获取字符串的长度使用
变量名.length
- 无法输出的字符,记得使用转义字符(\t , \, ", \ 等)
- 字符串拼接可以使用 + ,像在 Java 一样。
- 当一个是字符串,另一个是数字,并且使用 乘,减,除 号的时候,字符串会转换成数字进行计算,转换失败返回NaN。
- js 没有字符类型只有字符串类型,字符串使用 "" 或者 '' 都是可以的。
- 字符串是常量不可变的。
示例:
var str = "hello";
str[0] = "w";
console.log(str); // 还是 hello
var str = "hello";
str = "world";
console.log(str); // 是 world,这个不是改变了当前str地址的字符串的值,而是str指向了新的字符串,旧的字符串的值仍然没有更改。
6、Boolean
Boolean类型只有两个字面量: true 和 false 。但是所有类型均有与这两个 Boolean 值等价的值。
下面类型为 true:true、除0数字、"something"、Object(任何对象)
下面类型为 false:false、0 、""(空字符串)、undefined 、null、NaN
7、undefined 与 null
虽然 undefined 和 null 都为 false,但是他们的区别是:
- 在进行数字运算的时候,null + 10 = 10;undefined + 10 = NaN.
- 任何数据类型和 undefined 运算都是 NaN;
- 任何值和 null 运算,null 可看做 0 运算。
8、数据类型转换
8.1、其他类型转换成String
变量+""
或者变量+"其他变量"
String(变量)
变量.toString();
// 注意:undefined 和 null 不可以
var bool = true;
var num = 111;
var aaa;
var bbb = null;
console.log(typeof(bool+"")); // string
console.log(typeof(num+"")); // string
console.log(typeof(aaa+"")); // string
console.log((aaa+"")); // undefined
console.log(typeof(bbb+"")); // string
8.2、其他类型转换成 Number
此转换容易产生 NaN,一旦被转换的变量中含有非数字字符,都容易出现 NaN.
1. 变量 -*/ 一个数字(有非数字字符会出现 NaN)
var num1 = "11" - 0;
var num2 = "11" * 1;
var num = "11" / 1;
2. Number(变量);(有非数字字符会出现NaN)
Number("11");
Number(""); // 空字符串返回 0
3. parseInt() 和 parseFloat()(译为取整和取浮点数)
空字符串:parseInt("") 和 parseFloat("") 返回 NaN。
parseInt(变量):如果变量中首字符为字母则结果为 NaN。否则取出现首个非数字前的整数。 123 = parseInt(“123.123aaaa”);
parseFloat(变量):如果变量中首字符为字母则结果为 NaN。否则取出现首个非数字前的浮点数。(如果没有小数的话取整) 123.123 = parseFloat(“123.123aaaa”);
PS:
true 数值为 1;false 为0;
null 的数值类型为 0;
undefined 无数值类型或者为 NaN。
8.3、其他类型转换成 Boolean
任何数据类型都可以转换成 boolean 类型,所以和以上两个转换不同。将任意类型作为参数传入 Boolean(参数)
中,都可以转换成布尔值。
下面类型为 true:true、除0数字、"something"、Object(任何对象)
下面类型为 false:false、0 、""(空字符串)、undefined 、null、NaN
Boolean(参数);
从零开始学 Web 之 JavaScript(二)变量的更多相关文章
- 从零开始学 Web 之 JavaScript(一)JavaScript概述
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- 从零开始学 Web 之 JavaScript(四)数组
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- 从零开始学 Web 之 JavaScript(五)面向对象
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- 从零开始学 Web 之 JavaScript(三)函数
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- 从零开始学 Web 之 JavaScript 高级(一)原型,贪吃蛇案例
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 系列教程
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新…… github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http:/ ...
- 从零开始学 Web 之 ES6(四)ES6基础语法二
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 Vue.js(二)过滤器,按键修饰符,自定义指令
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学Web之HTML(二)标签、超链接、特殊符号、列表、音乐、滚动、head等
大家好,这里是 Daotin 从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享 ...
随机推荐
- sendBroadcast无法接收消息可能原因
Beginning with Android 8.0 (API level 26), the system imposes additional restrictions on manifest-de ...
- PAT 甲级 1002 A+B for Polynomials (25 分)
1002 A+B for Polynomials (25 分) This time, you are supposed to find A+B where A and B are two polyno ...
- python 之字符编码
一 了解字符编码的储备知识 python解释器和文件本编辑的异同 相同点:python解释器是解释执行文件内容的,因而python解释器具备读py文件的功能,这一点与文本编辑器一样 不 ...
- Julia 下载 安装 juno 开发环境搭建
Windows平台 Julia 的官网 (https://julialang.org) 下载链接(https://julialang.org/downloads) 下载完成后,如果想安装在 C 盘,则 ...
- MD5=======RBAC权限管理
经过网上查阅相关的说明原来,MD5全名Message-Digest Algorithm 5(信息-摘要算法)是一种不可逆的加密算法. MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性 ...
- Python开发——3.基本数据类型之列表、元组和字典
一.列表(list) 1.列表的格式 li = [11,22,"kobe",["lakers","ball",11],(11,22,),{& ...
- segmentController
xml <view class="segmentedControl"> <!-- 循环遍历 --> <block wx:for=&qu ...
- css概括
CSS:美化页面 层叠样式表 修改标签样式 1.分类:内联 内嵌 外部引用 (1)内联: 写在标签里面,以属性的形式表现 属性名为style (2)内嵌:写在head标签里面,以标签 ...
- Winform嵌入CEF(非正常用法)
(一)复制下面必备文件|-- locales|--en-US.pak|--cef.pak|--cef_100_percent.pak |--cef_200_percent.pak|--cef_exte ...
- 学习tableauhttps://www.tableau.com/zh-cn/learn/training
入门教程不错: https://www.tableau.com/zh-cn/learn/training