当前位置:首页 » 《随便一记》 » 正文

JavaScript变量与基本数据类型

25 人参与  2023年04月22日 08:02  分类 : 《随便一记》  评论

点击全文阅读


目录

一、声明变量

(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;  // 初始值是 100a = 200;  // ok, 被重新赋值为 200

(2)const

const修饰的叫常量,只能赋值一次

const b = 300; // 初始值是 300b = 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);  // 函数没有返回值, 结果是  undefinedlet a = 10; // 表达式没有返回值, 结果是 undefinedlet b = [1,2,3];console.log(b[10]); // 数组未定义元素是 undefinedlet c = {"name":"张三"};console.log(c.age); // 对象未定义属性是 undefinedlet 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.3333333333333335parseInt("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


点击全文阅读


本文链接:http://zhangshiyu.com/post/59915.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1