JavaScript基础(二)变量

简介: 变量变量的声明和初始化var number; // 变量的声明,没有赋值var name = "Daotin"; // 变量的初始化命名规则(驼峰命名)变量命名必须以字母或是**下标符号”_”或者”$”**为开头。

变量

变量的声明和初始化

var number; // 变量的声明,没有赋值
var name = "Daotin"; // 变量的初始化

命名规则(驼峰命名)

  • 变量命名必须以字母或是**下标符号”_”或者”$”**为开头。
  • 变量名长度不能超过255个字符。
  • 变量名中不允许使用空格,首个字不能为数字。
  • 不用使用脚本语言中保留的关键字及保留符号作为变量名。
  • 变量名区分大小写。(javascript是区分大小写的语言)
  • 汉语可以作为变量名。但是不建议使用!

数据类型

查看数据类型的方法:typeof name;typeof(name);

PS:null的数据类型是 Object。

基础数据类型:

String,Number,Boolean,unsigned、null

复杂数据类型:

Object,function,Array,Date,Error等

Number

一、进制

十进制:var num = 10;
八进制:var num = 012;   // 0开头
十六进制:var num = 0xA; // 0x开头

二、数值范围

最小值: Number.MIN_VALUE ,这个值为: 5e-324

最大值: Number.MAX_VALUE ,这个值为: 1.7976931348623157e+308

无穷大Infinity

无穷小-Infinity

三、不要用小数去验证小数

var num1 = 0.1;
var num2 = 0.2;
console.log(num1+num2); // 0.30000000000000004
console.log(0.07*100); // 7.000000000000001

四、NaN(Not a Number)

本来应该是个数值的,但是并不是一个数值。

console.log(“abc”/18); // 结果是NaN
Undefined 和任何数值计算为 NaN;
NaN 与任何值都不相等,包括 NaN 本身。
isNaN(); 任何不能被转换为数值的值都会导致这个函数返回 true。

String

  1. 使用单引号或者双引号均可。
  2. 获取字符串的长度使用 变量名.length
  3. 无法输出的字符,记得使用转义字符(\t , \, ", \ 等)
  4. 字符串拼接可以使用 + ,像 Java 一样。
  5. 当一个是字符串,另一个是数字,并且使用 乘,减,除 号的时候,字符串会转换成数字进行计算,转换失败返回NaN。

js没有字符类型只有字符串类型,字符串使用 "" 或者 '' 都是可以的。

字符串是常量不可变的。

var str = "hello";
str[0] = "w";
console.log(str); // 还是 hello

var str = "hello";
str = "world";
console.log(str); // 是 world,这个不是改变了当前str地址的字符串的值,而是str指向了新的字符串,旧的字符串的值仍然没有更改

Boolean

Boolean类型只有两个字面量: true 和 false 。但是所有类型均可与这两个 Boolean 值等价的值。

true:true、除0数字、“something”、Object(任何对象)为true

false:false、0 、“”、undefined 、null为false

Undefined 与 null

虽然 undefined 和 null 都为 false,但是他们的区别是:

在进行数字运算的时候,null + 10 = 10;undefined + 10 = NaN.

任何数据类型和undefined运算都是NaN;

任何值和null运算,null可看做0运算。


数据类型转换

其他类型转换成String

1 变量+"" 或者 变量+"其他变量"
2 String(变量)
3 变量.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

其他类型转换成 Number

PS: 此转换容易产生NaN,一旦被转换的变量中含有非数字字符,都容易出现NaN.

变量 -*/ 一个数字(有非数字字符会出现NaN)
// var num1 = “11”- 0; var num2 =“11” * 1;var num =“11”/1;
Number(变量);  // (有非数字字符会出现NaN)
parseInt() 和 parseFloat()(译为取整和取浮点数)
空字符串parseInt("")和parseFloat("")返回NaN,Number("")返回0

parseInt(变量):如果变量中首字符为字母则结果为NaN。否则取出现首个非数字前的整数。 //123 = parseInt(“123.123aaaa”);

parseFloat(变量):如果变量中首字符为字母则结果为NaN。否则取出现首个非数字前的浮点数。(如果没有小数的话取整)  // 123.123 = parseFloat(“123.123aaaa”);

特别提示:

true数值为1;false为0;
null的数值类型为0;
undefined无数值类型或者为NaN;

其他类型转换成 Boolean

任何数据类型都可以转换成boolean类型(Boolean();),所以和以往两个转换不同;

目录
相关文章
|
17天前
|
JavaScript 前端开发
JavaScript基础知识-变量的声明提前
关于JavaScript变量声明提前特性的基础知识介绍。
28 0
JavaScript基础知识-变量的声明提前
|
3月前
|
JavaScript 前端开发 开发者
JavaScript的变量提升是一种编译阶段的行为,它将`var`声明的变量和函数声明移至作用域顶部。
【6月更文挑战第27天】JavaScript的变量提升是一种编译阶段的行为,它将`var`声明的变量和函数声明移至作用域顶部。变量默认值为`undefined`,函数则整体提升。`let`和`const`不在提升范围内,存在暂时性死区。现代实践推荐明确声明位置以减少误解。
35 2
|
20天前
|
存储 JavaScript 前端开发
|
30天前
|
JavaScript 前端开发
揭秘JavaScript变量的三大守护神:从var到let,再到const,究竟隐藏了哪些秘密?
【8月更文挑战第22天】在JavaScript中,`var`、`let`和`const`用于声明变量,但各有特点。`var`有函数作用域并会被提升至作用域顶部。`let`提供块级作用域且存在暂时性死区,不允许提前访问。`const`同样拥有块级作用域,用于声明常量,一旦初始化便不可改变。现代开发倾向于使用`let`和`const`以获得更清晰的作用域控制和避免潜在错误。
26 0
|
29天前
|
JavaScript 前端开发
揭开JavaScript变量作用域与链的神秘面纱:你的代码为何出错?数据类型转换背后的惊人秘密!
【8月更文挑战第22天】JavaScript是Web开发的核心,了解其变量作用域、作用域链及数据类型转换至关重要。作用域定义变量的可见性与生命周期,分为全局与局部;作用域链确保变量按链式顺序查找;数据类型包括原始与对象类型,可通过显式或隐式方式进行转换。这些概念直接影响代码结构与程序运行效果。通过具体示例,如变量访问示例、闭包实现计数器功能、以及动态表单验证的应用,我们能更好地掌握这些关键概念及其实践意义。
22 0
|
2月前
|
设计模式 JavaScript 前端开发
JS 代码变量和函数的正确写法
JS 代码变量和函数的正确写法
39 3
|
1月前
|
JavaScript 前端开发
JavaScript声明变量的几种方式
JavaScript声明变量的几种方式
23 0
|
2月前
|
JavaScript
js export 对外输出常量、变量和函数
js export 对外输出常量、变量和函数
64 5
|
2月前
|
存储 JavaScript 前端开发
|
3月前
|
JavaScript 前端开发
JavaScript中的var变量详解:定义、提升与注意事项
JavaScript中的var变量详解:定义、提升与注意事项