JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型

JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型

学习目标

1.了解JS中的7种数据类型

2.掌握“==”和“===”的区别和使用

3.掌握JS中数据类型转换的规则

7种数据类型

在JS中,一共有7种数据类型:undefined、null、布尔、数字、字符串、对象和符号。其中,前六种是基本数据类型,后面会详细介绍对象类型。

undefined和null

undefined表示一个声明了但未被赋值的变量,null表示一个空对象指针,即一个已经被赋值为null的变量。在使用时,不要将null和undefined与其他值做比较,因为null和undefined只与自身严格相等,与其他任何值都不相等,包括它们本身的类型也不相等。

布尔、数字和字符串

布尔类型用于表示逻辑上的“真”和“假”,其值只有两个:true和false。数字类型可以表示各种数值,包括整数和浮点数。字符串类型用于表示文本,可以使用单引号、双引号或反引号括起来。

对象和符号

对象类型用于表示一组相关的数据和功能,比如日期对象、数组对象、函数对象等等。符号类型是ES6新增的类型,用于表示唯一的标识符。

“==”和“===”的区别和使用

在JS中,可以使用“==”和“===”来比较两个值是否相等。“==”是非严格比较,会进行类型转换,而“===”是严格比较,不会进行类型转换。

在使用时,建议使用“===”进行比较。只有在确实需要进行类型转换的情况下,才使用“==”。

示例1

let a = 10;
let b = '10';
console.log(a == b); // true,会将b转换为数字类型10再进行比较
console.log(a === b); // false,类型不一致

示例2

let c = undefined;
let d = null;
console.log(c == d); // true,只有null和undefined两种情况会相等
console.log(c === d); // false,类型不一致

数据类型转换规则

在JS中,有些操作会导致数据类型转换,比如将字符串转换为数字、将对象转换为原始值等等。JS中的数据类型转换比较灵活,有时候会出现一些意想不到的结果。

字符串转换为数字

在将字符串转换为数字时,JS会尝试将字符串解析为数字,如果解析失败,则会返回NaN。如果字符串是以数字开头的,JS会将这个数字解析出来,否则返回NaN。

console.log(parseInt('123')); // 123
console.log(parseInt('123abc')); // 123
console.log(parseInt('abc')); // NaN

对象转换为原始值

当JS需要将对象转换为原始值时,会调用对象的valueOf()和toString()方法。valueOf()方法用于返回对象的原始值,toString()方法将对象转换为字符串。

let obj = {
  valueOf: function() {
    return 10;
  },
  toString: function() {
    return 'obj';
  }
};
console.log(Number(obj)); // 10,调用valueOf()方法返回原始值
console.log(String(obj)); // 'obj',调用toString()方法转换为字符串

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型 - Python技术站

(0)
上一篇 2023年5月17日
下一篇 2023年5月17日

相关文章

  • nginx cookie有效期讨论小结

    详细讲解“nginx cookie有效期讨论小结”的完整攻略如下: 概述 讨论nginx cookie有效期一直是一个比较热门的话题。一个cookie的有效期决定了它能被浏览器保存的时间。在使用nginx的时候,如何灵活地设置cookie的有效期尤为重要。本文将对cookie有效期相关的知识点进行整理和总结。 设置cookie有效期 在nginx中设置coo…

    JavaScript 2023年6月11日
    00
  • js重写方法的简单实现

    我们来详细讲解一下”JS重写方法的简单实现”。 什么是JS重写方法? JS重写方法是指在类或对象已经存在的情况下,将已存在的某一方法进行改写或者扩展。 如何重写方法? JS重写方法可以通过prototype来实现。我们可以定义一个新的方法并将其赋值给已存在的方法名。 下面是一个关于JS重写方法的简单示例: //定义一个Dog类 function Dog(na…

    JavaScript 2023年6月10日
    00
  • 动态加载JavaScript文件的3种方式

    当我们开发一个网站时,经常需要用到Javascript代码来处理交互逻辑和动态效果。通常,为了让代码更清晰、易于维护,我们会将Javascript代码分离到一个或多个独立的文件中。这时就需要用到动态加载Javascript文件的功能。下面介绍3种常用的方式: 1. 通过DOM创建script元素 动态加载Javascript文件最常用的方式就是通过DOM创建…

    JavaScript 2023年5月27日
    00
  • JavaScript异步编程中async函数详解

    JavaScript异步编程中async函数详解 概述 在JavaScript异步编程中,async函数是一个非常重要的概念。async函数是异步操作的一种解决方案,它可以让我们以同步的方式编写异步代码。async函数本质上是基于Promise实现的,它可以返回一个Promise对象,同时支持await操作符,可以让我们在函数内部进行异步操作。 定义 asy…

    JavaScript 2023年5月28日
    00
  • 基于JavaScript实现淘宝商品广告效果

    让我来详细讲解一下”基于JavaScript实现淘宝商品广告效果”的完整攻略。 1. 简介 该攻略介绍了如何使用JavaScript实现淘宝商品广告效果,这种效果通常使用在商品推广页和商城首页等页面进行商品推广。在本攻略中,我们将使用一些JavaScript技术,例如jQuery库和CSS3动画技术,来实现淘宝商品广告效果。 2. 步骤 以下是实现淘宝商品广…

    JavaScript 2023年6月11日
    00
  • JavaScript中用toString()方法返回时间为字符串

    在JavaScript中,我们可以通过使用toString()方法将时间对象转换为字符串。toString()方法是Date对象原型上定义的方法,其返回一个代表时间的字符串,以本地时间为准。 以下是使用toString()方法返回时间字符串的步骤: 创建一个日期对象 let myDate = new Date(); 调用toString()方法将日期对象转化…

    JavaScript 2023年5月27日
    00
  • python selenium操作cookie的实现

    Python Selenium操作Cookie的实现: 引入selenium模块 from selenium import webdriver 定义浏览器对象 browser = webdriver.Chrome() 获取网站Cookie信息 browser.get(‘https://www.baidu.com’) print(browser.get_coo…

    JavaScript 2023年6月11日
    00
  • JavaScript弹出窗口方法汇总

    下面我将详细讲解 “JavaScript弹出窗口方法汇总”的完整攻略。 概述 JavaScript一直是web前端开发中重要的一部分,而弹出窗口也经常用在网站中,例如注册,登录等,所以学习JavaScript弹出窗口技术是十分必要的。 一、常规弹窗方法 常规弹窗方法有以下两种: alert() alert() 是 JavaScript 内置的一个方法,用于弹…

    JavaScript 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部