js变量有何特点是什么(JavaScript变量与基本数据类型)
目录
一 、声明变量
(1)let
(2)const
(3)var
二 、基本类型
(1)undefined和null
(2)string
(3)number和bigin
(4)boolean
(5)symbol
JavaScript(JS)是一种具有函数优先特性的轻量级 、解释型或者说即时编译型的编程语言 。虽然作为 Web 页面中的脚本语言被人所熟知 ,但是它也被用到了很多非浏览器环境中 ,例如 Node.js 、Apache CouchDB 、Adobe Acrobat 等 。进一步说 ,JavaScript 是一种基于原型 、多范式 、单线程的动态语言 ,并且支持面向对象 、命令式和声明式(如函数式编程)风格 。
一 、声明变量
(1)let
let 变量名 = 值;let声明的变量可以被多次赋值 ,例如:
let a = 100; // 初始值是 100 a = 200; // ok, 被重新赋值为 200(2)const
const修饰的叫常量 ,只能赋值一次
const b = 300; // 初始值是 300 b = 400; // error, 不能再次赋值const并不意味着它引用的内容不可修改 ,例如:
const c = [1,2,3]; c[2] = 4; // ok, 数组内容被修改成 [1,2,4] c = [5,6]; // error, 不能再次赋值(3)var
var声明的变量可以被多次赋值 ,例如:
var f = 100; f = 200;二 、基本类型
(1)undefined和null
执行表达式或函数 ,没有返回结果 ,出现 undefined
访问数组不存在的元素 ,访问对象不存在的属性 ,出现 undefined
定义变量,没有初始化 ,出现 undefined
例如:
console.log(1); // 函数没有返回值, 结果是 undefined let a = 10; // 表达式没有返回值, 结果是 undefined let b = [1,2,3]; console.log(b[10]); // 数组未定义元素是 undefined let c = {"name":"张三"}; console.log(c.age); // 对象未定义属性是 undefined let d; console.log(d); // 变量未初始化是 undefined二者共同点
都没有属性 、方法
二者合称 Nullish
二者区别
undefined 由 js 产生
null 由程序员提供
(2)string
js字符串有三种写法:
let a = "hello"; // 双引号 let b = "world"; // 单引号 let c = `hello`; // 反引号HTML代码 ,用java和js中的表示对比:
java表示,比较繁琐:
String s2 = """ <a href="1.html">超链接</a>""";js比较灵活:
let s1 = <a href="1.html">超链接</a>; let s2 = `<a href="1.html">超链接</a>`;模板字符串(Template strings)
需求:拼接URL的请求参数 ,如:
/test?name=zhang&age=18
/test?name=li&age=20传统方法拼接:
let name = ; // zhang li ... let age = ; // 18 20 ... let uri = "/test?name=" + name + "&age=" + age;模板字符串方式:
let name = ; // zhang li ... let age = ; // 18 20 ... let uri = `/test?name=${name}&age=${age}`;(3)number和bigin
number类型标识的是双精度浮点小数 ,例如:
10 / 3; // 结果 3.3333333333333335既然是浮点小数 ,那么可以除零:
10 / 0; // 结果 Infinity 正无穷大 -10 / 0; // 结果 -Infinity 负无穷大浮点小数都有运算精度问题 ,例如:
2.0 - 1.1; // 结果 0.8999999999999999字符串转数字
parseInt("10"); // 结果是数字 10 parseInt("10.5"); // 结果是数字 10, 去除了小数部分 parseInt("10") / 3; // 结果仍视为 number 浮点数, 因此结果为 3.3333333333333335 parseInt("abc"); // 转换失败 ,结果是特殊值 NaN (Not a Number)要表示真正的整数 ,需要用bigint ,数字的结尾用n表示它是一个bigint类型
10n / 3n; // 结果 3n, 按整数除法处理(4)boolean
在js中 ,并不是boolean才能用于条件判断 ,可以在if语句中使用【数字】 、【字符串】...作为判断
let b = 1; if(b) { // true console.log("进入了"); }这时就有一个规则 ,当需要条件判断时 ,这个值被当做true还是false ,当做true的值归类为truthy,当做false的值归类为falsy
下面的值是falsy:
false
Nullish (null, undefined)
0, 0n, NaN
"" `` 即长度为零的字符串
剩余的值绝大部分都是truthy
有几个容易被当做falsy实际上是truthy的
"false", "0" 即字符串的 false 和 字符串的零
[] 空数组
{} 空对象
(5)symbol
使用较少 ,需要的可以在下面网址查阅JavaScript | MDN (mozilla.org)https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!