聊聊undefined 和 undeclared

2023-11-18

一、undefined

在Js中,有两个表示‘空’的值undefined和null,其中比较有用的是 undefined。undefined 是一个值为 undefined 的类型。JavaScript语言也定义了一个全局变量,它的值是 undefined,这个变量也被称为undefined。 但是这个变量不是一个常量,也不是一个关键字。这意味着它的值可以轻易被覆盖。为了避免可能对 undefined 值的改变,一个常用的技巧是使用一个传递到匿名包装器的额外参数。在调用时,这个参数不会获取任何值。如下例子: 

var undefined = ‘cat’; 
(function(undefined) { 
// 局部作用域里的 undefined 变量重新获得了 `undefined` 值 
console.log(undefined); // mayan
})('mayan');
更好的例子是在早期的jQuery代码中(1.5版本前的jQuery中),你会发现第一行直接就是function(window, document, undefined)这样直接调用的。很多人不明白这里整个未定义的undefined变量有何用,其实这里的undefined就是这样来的。 


二、undeclared

而undeclared则是一种语法错误,其实访问undeclared的变量并非会中断浏览器执行。在浏览器运行上下文中,undeclared出来的变量简单可以认为是没有这样var a这样定义变量,Js引擎执行的时候,由于无法找到其对应的上下文(scope),会简单地认为该变量是全局的变量,就是会把该变量定义到window中去! 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

聊聊undefined 和 undeclared 的相关文章

  • selenium 常用操作总结

    谷歌驱动下载 http chromedriver storage googleapis com index html 参数设置options opt Options opt add argument headless 无头模式 opt ad
  • 在腾讯连拿六个五星

    刚毕业入职腾讯工作 2 3 年 半年 年终绩效每次都是 5 4 星 不一定年薪百万 主要薪资 奖金无法决定 这个取决于股票是否上涨不少 但晋升肯定是最快的 在阿里拿 375 跟在腾讯拿 5 4 星的比例差不多 应届毕业能拿一次确实很优秀了
  • 15. unity官网资源商店的免费资源引入自己项目中

    1 说明 在unity开发中可以在官网引入一些免费的资源 免得自己找不到合适的素材 第一步 首先进入Unity资源商店官网 https assetstore unity com 计入并登录自己的unity账号 如果没账号 可以注册一个 然后
  • Fisco Bcos区块链五(WeBase结点前置服务)

    文章目录 区块链开荒 技术文档 https webasedoc readthedocs io zh CN latest docs WeBASE Front install html 三 WeBase节点前置服务 1 前提条件 2 拉取代码
  • AIGC驱动产品开发创新,改变你所知的一切!

    你是否想过 3000年后的饮料是什么味道 9月12日 可口可乐全球创意平台 乐创无界 再度推出全新限定产品 首款联合人工智能 AI 打造的无糖可口可乐 未来3000年 从口味研发到包装设计都体现了AI的深度参与打造 Y3000与AI共创这一
  • 实战: 跨年烟花代码的实现(附源码)

    目录 前言 一 pandas是什么 二 代码结构 1 介绍主html代码 2 js文件介绍 GameCanvas js script js 运行效果 前言 本文章将介绍跨年烟花代码的实现以及源代码 提示 以下是本篇文章正文内容 一 pand
  • 关于security权限的坑

    遇到了一个spring security的坑 分享给大家 首先介绍一下项目 spring boot 整合security 配合做权限与认证 如果数据库权限是ROLE USER 比如 那么在Security配置文件里 权限必须写出USER 也
  • 如何在vue 中使用 sass

    传送门
  • python中协程实现的本质以及两个封装协程模块greenle、gevent

    协程 协程 又称微线程 纤程 英文名Coroutine 协程是啥 协程是python个中另外一种实现多任务的方式 只不过比线程更小占用更小执行单元 理解为需要的资源 为啥说它是一个执行单元 因为它自带CPU上下文 这样只要在合适的时机 我们
  • Fun论设计模式之2:代理模式(Proxy Pattern)

    今天学习到了一个新的设计模式 代理模式 介绍借鉴了runoob的 意图 为其他对象提供一种代理以控制对这个对象的访问 主要解决 在直接访问对象时带来的问题 比如说 要访问的对象在远程的机器上 在面向对象系统中 有些对象由于某些原因 比如对象
  • LeetCode刷题-9

    数组 119 杨辉三角 II 题目描述 题目样例 Java方法 线性递推 思路及算法 代码 复杂度 题目描述 给定一个非负索引 rowIndex 返回 杨辉三角 的第 rowIndex 行 在 杨辉三角 中 每个数是它左上方和右上方的数的和
  • 训练后的网络输出为固定值

    缘起 之前训练好的网络 但是为了硬件移植 其中某些操作需要删除 那么简单 替换一些硬件不支持的操作 重新训练一下就好了 毕竟训练集 数据导入方式 训练代码 测试代码之前都验证了没有什么问题 但是问题来了 简单的训练一次 居然出现了输出结果成
  • jquery显示和隐藏 切换

随机推荐

  • 华硕笔记本没有无线服务器,华硕电脑搜不到wifi怎么回事

    华硕电脑搜不到wifi怎么回事 可能还有些网友不太了解 那么下面就由学习啦小编给你们介绍华硕电脑搜不到wifi的原因及解决方法吧 希望能帮到大家哦 华硕电脑搜不到wifi的解决分析一 1 首先点击桌面右下角的无线网络图标 打开网络和共享中心
  • shell 命令之wc

    wc命令很简单 就是统计指定文件中的字节数 字数 行数 并将统计结果显示输出 其命令及参数如下 wc lcmw file c 统计字节数 l 统计行数 m 统计字符数 如果本地不支持多字节字符 则和 c一样的效果 w 统计字数 一个字被定义
  • python 格式化

    一 格式化方式 1 使用 进行格式化 2 使用f str 进行格式化 3 使用str format进行格式化 二 格式化的使用 1 使用 进行格式化 定义以下变量 name Tom age 17 weight 58 9871 book 10
  • python装饰器计算函数运行时间

    import time from functools import wraps import random def fn timer function wraps function def function timer args kwarg
  • Zookeeper和Nacos的区别

    Zookeeper和Nacos的区别 在分布式系统中 注册中心充当着重要角色 是服务发现 客户端负载均衡中不可缺少的一员 注册中心除了能够实现基本的功能外 他的稳定性 可用性和健壮性对整个分布式系统的流畅运行影响重大 zookeeper和n
  • 如何写论文

    维生素C吃多了会上火 个人CSDN博文目录 AI论文精度 这篇博客讲解的是如何写文章 写论文异曲同工 参考书籍The Craft of Research 参考视频跟读者建立联系 研究的艺术 一 目录 书本目录 1 跟读者建立联系 如何权衡项
  • OpenCV——多分辨率LBP的计算方法

    目录 一 算法原理 1 原理概述 2 参考文献 二 代码实现 三 结果展示 一 算法原理 1 原理概述 基本LBP算子虽然在早期的实验中取得了一系列成果 但是应用于不同领域的具体问题时 该算子的处理结果并不能达到预期的效果 因此 很多学者对
  • 不同网段共享文件服务器,不同网段ip 如何设置局域网共享?

    具体操作如下 执行 开始 I 控制面板 命令 在打开的窗口中双击 网络和丨nternet连接 选项 打开 网络连接 窗口 在窗口左边的 网络任务 栏中选择 更改此连接设置 选项 弹出 本地连接属性 对话框 单击 安装 按钮 在win7弹出的
  • .NET 6 ‘Unable to configure HTTPS endpoint...

    Mac M1 NET 6 Exception has occurred CLR System InvalidOperationException System InvalidOperationException 类型的未经处理的异常在 Sy
  • 蓝桥杯 c/c++ 算法提高 最长滑雪道

    算法提高 最长滑雪道 资源限制 时间限制 1 0s 内存限制 256 0MB 问题描述 小袁非常喜欢滑雪 因为滑雪很刺激 为了获得速度 滑的区域必须向下倾斜 而且当你滑到坡底 你不得不再次走上坡或者等待升降机来载你 小袁想知道在某个区域中最
  • CSS(非)实用技巧——背景与边框

    参考 CSS揭秘 CSS Secrets 背景 CSS3 尽管 CSS3 这个名词非常流行 但它严格意义上并不是一个规范 因为在CSS2之后 CSS这门语言已经庞大到无法放进单个规范中了 CSS工作组将其分成不同的模块 其中在CSS2 1已
  • 图书馆数据库服务器设备性能分析,高校图书馆数据库利用率统计与绩效的浅析.doc...

    PAGE PAGE 1 高校图书馆数据库利用率统计与绩效的浅析 摘要 现代的社会是一个信息社会 社会经济发展步伐和高科技信息技术的发展已经超过了我们想象的能力范围 随着越来越多的高校图书馆的建立 为了更好的服务学生和学校教师的教学 科研工作
  • 线程的优先级

    package com kuang Demo05 测试线程的优先级 public class TestPriority public static void main String args System out println Threa
  • Eclipse 从Debug模式中退出

    如果您尚未处于Java透视图中 请在主菜单中选择Window gt Open Perspective gt Java或单击下面的 Click to Perform 链接 Eclipse的右侧有新手教学 简单来说就是菜单栏里按顺序点击 就能切
  • tensorflow-gpu版本详细安装教程(Win10,Python3.7.9,cuda11.2,cudnn8.1.0)

    目录 cuda安装 cudnn安装 python安装 tensorflow安装 cuda安装下载 首先要注意自己的显卡支持cuda的版本 可以这样自查 可以看到适合自己的cuda版本 这里我选择了cuda11 2版本 cuda安装包下载链接
  • 虚拟机与物理机的三种连接方式

    引言 vmware为我们提供了三种网络工作模式 它们分别是 Bridged 桥接模式 NAT 网络地址转换模式 Host Only 仅主机模式 我们在刚刚接触它们的时候 常常被搞的晕头转向 今天我就为大家介绍一下这三种连接方式 桥接模式 桥
  • web前台传递时间日期格式转换为java.util.date,initBinder或者@DateTimeFormat方式

    方法1 根据前台传递的日期格式 在后台创建一个参数绑定的方法 将对应的日期字符串 转换为 java util date 从界面传递参数到spring后台controller类中 日期格式默认只能传long类型的时间戳 如果想要传递格式化的日
  • 阿里云ECS部署Nginx配置域名访问

    目录 前言 环境 具体步骤 服务器 域名 SSL证书 Nginx配置 前言 记录下阿里云服务器建站的过程 回回建 回回忘 尴尬 环境 ECS Centos7 6 Nginx 具体步骤 服务器 首先 需要购买一台服务器 域名 需要购买一个域名
  • Python unicode equal comparison failed

    用python进行判断的时候 如果包含中文会报错 name 这里是中文 if i name print right 修改成 name 这里是中文 decode utf 8
  • 聊聊undefined 和 undeclared

    一 undefined 在Js中 有两个表示 空 的值undefined和null 其中比较有用的是 undefined undefined 是一个值为 undefined 的类型 JavaScript语言也定义了一个全局变量 它的值是 u