首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >有趣的window.name

有趣的window.name

作者头像
用户7293182
发布于 2022-01-17 13:57:43
发布于 2022-01-17 13:57:43
22400
代码可运行
举报
文章被收录于专栏:jQuery每日经典jQuery每日经典
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var name = {sex: '男'};
console.log($.type(name)); // string  
console.log($.type({sex: '男'})); // object
console.log(typeof name); // string 

疑惑吗?自己动手试一下,这是为什么呢?

第四行代码可以证实这不是 jQuery 插件的问题,造成这一问题的原因是 window 对象。

window 对象有一个 name 属性, 而且这个 name 属性是可以设置的,但是!!!

window.name is always casted to a string. Avoid writing code in a global context to avoid it.

HTML5 中 对于window.name 的定义:

The name attribute of the Window object must, on getting, return the current name of the browsing context

如果将 name 手动修改为一个对象,

则在调用的地方,name='[object Object]'。

所以,避免在全局上下文中 查看 name 的类型,因为它总是返回 string。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 jQuery每日经典 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
手摸手打造类码上掘金在线IDE(三)——沙箱环境
在前面的内容中,我们讲了在线ide 的内容种类,状况,以及如何选择ide 的代码编辑器, 我们从
用户7413032
2022/11/18
9070
手摸手打造类码上掘金在线IDE(三)——沙箱环境
一文彻底搞懂前端沙箱
在一些应用中,我们希望给用户提供插入自定义逻辑的能力,比如 Microsoft 的 Office 中的 VBA,比如一些游戏中的 lua 脚本,FireFox 的「油猴脚本」,能够让用户发在可控的范围和权限内发挥想象做一些好玩、有用的事情,扩展了能力,满足用户的个性化需求。
桃翁
2022/03/30
2.8K0
一文彻底搞懂前端沙箱
Node.js中的MongoDB
show dbs: 显示当前所有的数据库 use 数据库名 ":进入到指定数据库中 db :显示当前所在的数据库 show collections:显示数据库中的所有集合
不愿意做鱼的小鲸鱼
2022/08/24
5.8K0
Node.js中的MongoDB
本周群问题分享
收集时间:2016.4.18~2016.4.22 温馨提示:小编从大家的问题当中提取了几个比较经典的问题与大家一起分享。 JavaScript 如何获取上传图片的路径? 2016.4.18~2016.4.22 核心概念 本地图片与服务器图片路径 参考答案 1 可以利用后台语言PHP来获取图片路径,PHP当中通过$_FILES这个全局变量进行文件相关信息的获取,使用$_FILES["file"]["name"]获取文件的名字;如果想具体了解PHP文件上传操作可以在HTML5学堂官网搜索“文件上传”; 2 如果
HTML5学堂
2018/03/13
1.3K0
解析call、apply、bind三者区别及实现原理
不管在写插件,还是写框架,又或者其它业务开发中。我们都会遇到在执行函数的时候,如果需要保证函数内部this不被污染或者说需要使函数内部this指向到指定对象的时候,都会按情况分别使用到call、apply、bind方法来实现需求。
吴佳
2022/09/26
2.5K0
一起回归一下每日一题这些经典面试题
面试造火箭,工作拧螺丝,虽然我只想拧螺丝,可是我需要用造火箭的技术去寻找拧螺丝的工作,如何能在面试过程中让自己处于不败的地步呢,刷题是一个比较好的捷径,今天就汇总了一些比较经典的面试题进行了汇总,分享给大家。
前端进击者
2021/07/27
3900
JavaScript跨域解决方式
平时工作中经常被JavaScript跨域问题所困扰,其实有很多种解决方式,下面给大家介绍常用的几种:
Jack Chen
2018/09/14
8160
JavaScript跨域解决方式
JS魔法堂:属性、特性,傻傻分不清楚
一、前言                                   或许你和我一样都曾经被下面的代码所困扰 var el = document.getElementById('dummy'); el.hello = "test"; console.log(el.getAttribute('hello')); // IE67下输出test,其他浏览器输出null   “搞毛啊?”,苦逼的Jser对着浏览器大呼一声。然后就用下面蹩脚的方式草草处理掉了。 function getAttr(el, pro
^_^肥仔John
2018/01/18
1.9K0
JS魔法堂:属性、特性,傻傻分不清楚
通过自己实现函数 call,apply,bind 来了解他们的原理
我们知道函数中的call,apply,bind都是可以修改函数的this指向。关于函数的this指向问题可以转到Javascript this 指向问题这篇文章。
踏浪
2019/08/22
8250
那些年前端跨过的域
同源策略(same-origin policy) 最初是由 Netspace 公司在 1995 年引入浏览器的一种安全策略,现在所有的浏览器都遵守同源策略,它是浏览器安全的基石。
沃趣科技
2018/05/15
2.1K1
那些年前端跨过的域
【CSDN学院出品】 你不可不知的JS面试题(分期更新……)
7种。分别是boolean、number、string、object、undefined、null、symbol。
Vam的金豆之路
2021/11/30
3330
【CSDN学院出品】 你不可不知的JS面试题(分期更新……)
你根本不懂Javascript(EP1~EP3.5 基础课)
基本类型(null, undefined, bool, number, string)应该是值类型,没有属性和方法。
szhshp
2022/09/21
1.1K0
jQuery之getAll()和cleanData()
前言: 看 jQuery 源码的一个痛点就是调用一个函数时,里面会调用 N 个其他函数,然后这 N 个函数里面又会调用 M 个其他其他函数。。
进击的小进进
2022/03/28
4480
jQuery之getAll()和cleanData()
第168天:json对象和字符串的相互转换
在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。 JSON.stringify(obj)       将JSON对象转为字符串。 JSON.parse(string)       将字符串转为JSON对象格式。
半指温柔乐
2018/09/11
1.6K0
原生JS | 数据类型检测,并没你想象的那么简单
HTML5学堂-码匠:看上去,JavaScript中的数据类型检测,并没有什么难度,但是……它包含了不少的知识,如果你只知道一个typeof的话,那很建议你读读这篇文章,加强一下~ 最近一个关系很不错的朋友在跳槽,面试一家大型知名互联网公司的时候,面试官问了一个看上去“超级”基础的问题:如何进行数据类型的检测啊? 面试官:能告诉我如何进行数据类型的检测吗? 码匠好友:typeof啊~ 面试官:还有吗? 码匠好友:instanceof 面试官:还有别的吗?你了解几种? 码匠好友:jQuery的isArray、
HTML5学堂
2018/03/13
1K0
JavaScript中的类型判断
类型判断在 web 开发中有非常广泛的应用,简单的有判断数字还是字符串,进阶一点的有判断数组还是对象,再进阶一点的有判断日期、正则、错误类型,再再进阶一点还有比如判断 plainObject、空对象、Window 对象等等。
ConardLi
2019/05/23
1.4K0
JS进阶 你真的掌握变量和类型了吗
原文链接:https://mp.weixin.qq.com/s/Z0jnNJlfOrXHdNDb8CM-ng
mafeifan
2019/05/30
2.8K0
jQuery源码浅析
如果说php是世界上最好的语言,那么javascript无疑可以称为世界上最飘逸的语言,最近看了下jQuery的源码,实现了一个简陋的jQuery。我觉得要看懂jQuery整体结构,需要搞懂js作用域链,闭包,js prototype继承,关于闭包网络上的定义实在太多了,这里参照了js权威指南里的定义,感觉从js的角度好理解一点。
用户3094376
2018/09/12
1K0
前端知识体系整理(不断更新)
var x = {}; var y = []; var z = null; typeof x; // "object" typeof y; // "object" typeof z; // "object"
一个会写诗的程序员
2018/08/17
1.7K0
判断js中数据类型方法总结
typeof、instanceof、constructor、prototype、$.type()/jquery.type() 定义数据 ~ var a = "csxiaoyao"; var b = 1993; var c = true; var d = undefined; var e = null; var f = new Date(); var g= [1,2,3]; var h = function(){alert("sunshine");}; var i = function(){this.name="csxiaoyao";}; ~
csxiaoyao
2019/02/15
8.6K2
相关推荐
手摸手打造类码上掘金在线IDE(三)——沙箱环境
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档