首页 > 其他分享 >一些奇奇怪怪的js知识

一些奇奇怪怪的js知识

时间:2024-04-13 10:45:46浏览次数:21  
标签:变量名 setTimeout 知识 object js 参数 arg 奇奇怪怪 null

0.关于前端为什么typeof null 得到的结果是 object
对于 null 来说,很多人会认为他是个对象类型,其实这是错误的。

虽然 `typeof null` 会输出 `object`,但是这只是 JS 存在的一个悠久 Bug。在 JS 的最初版本中使用的是 32 位系统,为了性能考虑使用低位存储变量的类型信息,`000` 开头代表是对象,然而 `null` 表示为全零,所以将它错误的判断为 `object` 。虽然现在的内部类型判断代码已经改变了,但是对于这个 Bug 却是一直流传下来。

1.关于let可以作为变量名
是因为ES6中let不是保留字也不是关键字 因此可以作为变量名,其他的声明例如var const 都不能作为变量名,因为其他的声明方式是关键字,而关键字保留字不能作为变量名.

2.setTimeout()函数的第三个参数
setTimeOut()函数的第三个参数会作为参数fn函数的实参传递进去 ,可以解决var循环变量问题,参数能传递多个 现版本谷歌,搜狗支持 ie不支持这样传递参数

setTimeout((arg) => {

console.log(arg)

},1000,'i m arg')

3.执行以下代码
控制台再次执行setTimeout函数时打印的6 7 为setTimeout的返回唯一标志

4.setTimeout() 第一个参数
如果传递的不是一个函数,定时器会立即执行 例如 setTiemout(console.log(1) , 1000)

  1. forEach /for of /for in
    不能通过return 进行循环跳出

标签:变量名,setTimeout,知识,object,js,参数,arg,奇奇怪怪,null
From: https://www.cnblogs.com/coderzdz/p/18132559

相关文章

  • SeleniumBase 制作WEB用户使用导览,并导出 JS-使用笔记(三)
    自动化福音(爬虫、办公、测试等)SeleniumBase使用笔记(三)SeleniumBase制作WEB用户使用导览,并导出JSSeleniumBase包含强大的JS代码生成器,用于将Python转换为JavaScript,而制作用户导览,就是其中的应用之一,用户导览能将SaaS产品采用率提高10倍或更多目录创建导览......
  • 30 天精通 RxJS (16):Observable Operators - catch, retry, retryWhen, repeat
    我们已经快把所有基本的转换(Transformation)、过滤(Filter)和合并(Combination)的operators讲完了。今天要讲错误处理(ErrorHandling)的operators,错误处理是异步行为中的一大难题,尤其有多个交错的异步行为时,更容易凸显错误处理的困难。就让我们一起来看看在RxJS中能如何处理......
  • JS 原型链查找 (上)
    我们都知道面向对象语言如Java,C++等都基本实现了封装,继承,多态等特性,用面向对象语言来编程的基本套路就是抽象出类,然后实例化,用实例调用方法来模拟进行程序间的通信.但JS不是面向对象的语言,或者我们称它的脚本语言,它的一等公民就是对象/函数.本篇这里主......
  • Python+FastJson漏洞批量检测实战
    #-*-coding:utf-8-*-importosimportsubprocess#指定要读取文件的目录directory='D:/gongju02/anq/FastJson/JsonExp-1.4.0'defjson_exp(text_path):"""指定要检测的接口文件目录"""try:#改变当前工作目录os.chdir(di......
  • 关于Nodejs入坑!!!
    关于Nodejs入门什么是nodejs?一个开源与跨平台的JavaScript运行时环境;可以理解为Node.js就是一个服务器端的、非阻塞式I/O的、事件驱动的JavaScript运行环境Node作为一个新兴的前端框架,后台语言,有很多吸引人的地方:RESTfulAPI,单线程。https://www.ruanyifeng.com特点:1......
  • FastJson反序列化漏洞利用和扫描探测工具-实战
    一、简介fastjson漏洞批量检测工具,根据现有payload,检测目标是否存在fastjson或jackson漏洞(工具仅用于检测漏洞),若存在漏洞,可根据对应payload进行后渗透利用,若出现新的漏洞时,可将最新的payload新增至txt中(需修改格式),工具完全替代手工检测,作为辅助工具使用。二、LDAP检测环境搭建......
  • Java基础知识篇02——封装
    大家好,我是白夜,今天给大家聊聊面向对象的三大特征——封装一、包(package)1.1、包的引入先来看看我们之前写的代码结构以上代码存在的问题所有类写在一个目录下面,非常难管理,因为以后项目不可能只有这么几个类,当类数量很大的时候,就不容易管理了。不能写同名但是不同需求的类......
  • 使用内置函数 (SQL Server) 验证、查询和更改 JSON 数据
    使用内置函数(SQLServer)验证、查询和更改JSON数据项目2023/09/0313个参与者反馈 本文内容此页上的示例JSON文本使用ISJSON函数验证JSON文本使用JSON_VALUE函数从JSON文本中提取值使用JSON_QUERY函数从JSON文本中提取对象或数组显示另外......
  • js处理大数(超过16位的数字):big-init、bignumber.js
    bigints支持JSON.parse/stringify解析方式。基于DouglasCrockford的JSON.js包和bignumber.js库。本地Bigint最近被添加到JS中,所以我们增加了一个选项来代替bignumber.js。但是,使用本机BigInt进行解析是为了向后兼容虽然大多数JSON解析器假设数值具有与IEEE754double相同的精......
  • Konva.js
    1.前言简介:Konva.js-适用于桌面/移动端应用的HTML52dcanvas库个人体验:原生的canvas只支持绘制基本的直线,矩形,文字,图片,扇形等,如果要支持更复杂的功能,无法支持复杂的图形,移动,动画等,所以得引用相关库来实现,提示开发效率本篇文章只是初步使用,更详细的功能请查阅官方文档2......