iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >Js中6种变量声明方式
  • 779
分享到

Js中6种变量声明方式

2024-04-02 19:04:59 779人浏览 泡泡鱼
摘要

这篇文章主要讲解了“js中6种变量声明方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Js中6种变量声明方式”吧!1.1 typeof1.1.1 基础介绍

这篇文章主要讲解了“js中6种变量声明方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Js中6种变量声明方式”吧!

1.1 typeof

1.1.1 基础介绍

typeof是一个运算符,其有两种使用方式:(1)typeof(表达式);(2)typeof 变量名;返回值是一个字符串,用来说明变量的数据类型;所以可以用此来判断number, string, object, boolean, function, undefined, symbol 这七种类型,每种情况返回的内容如下表所示:

类型结果
String'string'
Number'number'
Boolean'boolean'
Undefined'undefined'
Object'object'
function函数'function'
Symbol'symbol'

1.1.2 原理进阶

typeof方法虽然很好用,但该方法有一定的局限性:对于对象、数组、null 返回的值是 object。比如typeof(window),typeof(document),typeof(null)返回的值都是object,这是为什么呢?这就要从底层说起。js在底层存储变量的时候,会在变量的机器码的低位1-3位存储其类型信息:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 000:对象;

  3. 010:浮点数;

  4. 100:字符串;

  5. 110:布尔值;

  6. 1:整数;

  7. 特例:

(1)null所有机器码均为0

(2)undefined:用 ?2^30 整数来表示

typeof就是通过机器码判断类型,由于null的所有机器码均为0,该机器码和对象一样,因此直接被当作对象来看待,所以通过typeof就不能够判断区分对象还有null了。

1.1.3 实验

说了这么多,还没有进行验证,下面就逐一验证一下:

// 字符串 console.log(typeof('lili')); // string // 数字 console.log(typeof(1)); // number // 布尔值 console.log(typeof(true)); // boolean // undefined console.log(typeof(undefined)); // undefined // 对象 console.log(typeof({})); // object // 数组 console.log(typeof([])); // object // null console.log(typeof(null)); // object // 函数 console.log(typeof(() => {})); // function // Symbol值 console.log(typeof(Symbol())); // symbol

1.2 instanceof

1.2.1 基础介绍

instanceof运算符用于检测构造函数的 prototype属性是否出现在某个实例对象的原型链上,返回值为布尔值,用于指示一个变量是否属于某个对象的实例。其语法如下所示:

object instanceof constructor

1.2.2 原理进阶

instanceof 主要的实现原理就是只要右边变量的 prototype 在左边变量的原型链上即可。因此,instanceof 在查找的过程中会遍历左边变量的原型链,直到找到右边变量的 prototype,如果查找失败,则会返回 false.步骤如下所示:

  • 获取左边变量的隐式原型(即:__ proto __ ,可通过Object.getPrototypeOf()获取);

  • 获取右边变量的显示原型(即:prototype);

  • 进行判断,比较leftVal. __ proto __ . __ proto __ …… === rightVal.prototype,相等则返回true,否则返回false。

1.2.3 实验

上面讲述了instanceof的简单使用和其原理,下面简单使用一下并验证一下该原理:

const arr = [1, 2]; // 判断Object的prototype有没有在数组的原型链上 console.log(arr instanceof Object); // true // 数组arr的原型 const proto1 = Object.getPrototypeOf(arr); console.log(proto1); // [] // 数组arr的原型的原型 const proto2 = Object.getPrototypeOf(proto1); console.log(proto2); // [] // Object的prototype console.log(Object.prototype); // 判断arr的原型是否与Object的prototype相等 console.log(proto1 === Object.prototype); // false // 判断arr的原型的原型是否与Object的prototype相等 console.log(proto2 === Object.prototype); // true

感谢各位的阅读,以上就是“Js中6种变量声明方式”的内容了,经过本文的学习后,相信大家对Js中6种变量声明方式这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Js中6种变量声明方式

本文链接: https://www.lsjlt.com/news/67701.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Js中6种变量声明方式
    这篇文章主要讲解了“Js中6种变量声明方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Js中6种变量声明方式”吧!1.1 typeof1.1.1 基础介绍...
    99+
    2024-04-02
  • js函数声明的方式有几种
    这篇文章主要介绍“js函数声明的方式有几种”,在日常操作中,相信很多人在js函数声明的方式有几种问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js函数声明的方式有几种”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-20
  • Go的两种声明变量的方式有什么区别
    一、变量作用域不同 使用var关键字声明变量时,变量的作用域可以是全局的或者局部的,而使用:=运算符声明变量时,变量的作用域只能是局部的。这是因为:=运算符是一种简化语法,在函数内部使用。 例如: 在上面的代码中,变量name使用va...
    99+
    2023-10-29
    两种 变量 有什么区别
  • 详解Golang中变量的不同声明方式
    详解Golang中变量的不同声明方式在Golang中,变量的声明方式多种多样,每一种声明方式都有其特点和用途。下面将详细介绍Golang中变量的不同声明方式,并附上相应的代码示例。var声明法:var 是Golang中最常见的变量声明方式之...
    99+
    2023-12-23
    Golang中变量声明方式有多种
  • java声明变量的方式有哪些
    在Java中,声明变量的方式有以下几种: 声明并初始化变量: int age = 20; String name = "...
    99+
    2024-03-13
    java
  • php声明字符串变量有几种
    在 PHP 中,声明字符串变量有三种方式:使用单引号,使用双引号,以及使用 heredoc 和 nowdoc。单引号:单引号字符串中的变量不会被解析,所有特殊字符(如换行符和引号)都需要使用转义符号“\”。$name = 'John...
    99+
    2023-05-14
  • 怎么在JavaScript中以不同的方式声明变量
    本篇内容主要讲解“怎么在JavaScript中以不同的方式声明变量”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在JavaScript中以不同的方式声明变量...
    99+
    2024-04-02
  • C++中如何声明变量
    本篇文章为大家展示了C++中如何声明变量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C++变量声明的语法:extern int a;函数声明的语法:extern int func1(int len...
    99+
    2023-06-17
  • sql中怎么声明变量
    在SQL中,可以使用DECLARE语句来声明变量。DECLARE语句用于创建一个变量,并指定它的数据类型和初始值(可选)。以下是声明...
    99+
    2023-09-29
    SQL
  • DOS中怎么声明变量
    今天就跟大家聊聊有关DOS中怎么声明变量,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。dos定义变量 DOS下也只有环境变量可以用      ...
    99+
    2023-06-08
  • php中怎么声明变量
    这期内容当中小编将会给大家带来有关php中怎么声明变量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。说明变量在PHP中的声明必须用美元符号后跟变量名来表示,使用赋值操作符(=)给变量赋值;如果大多数PHP...
    99+
    2023-06-20
  • Golang语言的多种变量声明方式与使用场景详解
    目录01介绍02变量声明方式标准声明变量不显式赋初始值声明变量省略类型声明变量短变量声明显式类型转换变量列表声明变量声明块03使用场景包级变量全局变量局部变量04注意事项:05总结0...
    99+
    2024-04-02
  • javascript中声明变量的方法是什么
    这篇文章主要介绍“javascript中声明变量的方法是什么”,在日常操作中,相信很多人在javascript中声明变量的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • 在 PHP 中声明全局变量
    我们将介绍一种在 PHP 中使用 global 关键字声明全局变量的方法。此方法将在函数外部声明的变量的全局范围设置为局部范围以使用函数内部的变量。 本文将演示另一种使用 $GLOBALS 超级全局...
    99+
    2024-02-27
  • Golang中变量声明的方法是什么
    在Golang中,变量声明的方法有两种: 使用var关键字声明变量,语法如下: var variableName dataTyp...
    99+
    2024-03-14
    Golang
  • JavaScript局部变量声明的方法
    今天小编给大家分享一下JavaScript局部变量声明的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2024-04-02
  • js继承的6种方式详解
    原型链继承 原型链继承是ECMAScript的主要继承方式。其基本思想就是通过原型继承多个引用类型的属性和方法。什么是原型链?每个构造函数都会有一个原型对象,调用构造函数创...
    99+
    2024-04-02
  • C#中怎么声明变量和常量
    在C#中声明变量和常量的方式如下: 声明变量: // 声明一个整型变量 int num; // 声明并初始化一个字符串变量 str...
    99+
    2024-03-06
    C#
  • java声明数组的三种方式
    Java声明数组的三种方式有:1. 静态声明:使用静态初始化方式声明数组,即在声明数组的同时,给数组元素赋初值。例如:int[] a...
    99+
    2023-08-28
    java
  • JavaScript中如何正确声明变量
    本篇内容介绍了“JavaScript中如何正确声明变量”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  ...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作