Object.prototype.toString.call() 区分对象类型


第一种:    <script language="javascript" type="text/javascript">           window.location.href="login.jsp?backurl="+window.location.href;     </script>

第二种:    <script language="javascript">  alert("返回");    window.history.back(-1);   </script>

第三种:   <script language="javascript">   window.navigate("top.jsp");  </script>

第四种:   <script language="JavaScript">          self.location='top.htm';   </script>

第五种:   <script language="javascript">          alert("非法访问!");          top.location='xx.jsp';   </script>

js由于是prototype的对象模型,没有严格意义上的类class。全部都是对象Object要实现继承,可以先//创建一个父对象OldObject=function(){   this.a="属性1"};//复制出一个新对象,新对象里面已经具有旧对象的内容NewObject=new OldObject();//新增些内容,扩展新对象NewObject.b="属性2";NewObject.func=function(){    //新方法1}//新对象具有旧对象的属性alert(NewObject.a);

在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。对于数组、函数、对象来说,其关系错综复杂,使用 typeof 都会统一返回 “object” 字符串。

要想区别对象、数组、函数单纯使用 typeof 是不行的。或者你会想到 instanceof 方法,例如下面这样:

var a = {};
var b = [];
var c = function () {};//a b c 都是 Object 的实例
console.log(a instanceof Object) //true
console.log(b instanceof Object) //true
console.log(c instanceof Object) //true//只有 Array 类型的 b 才是 Array 的实例
console.log(a instanceof Array) //false
console.log(b instanceof Array) //true
console.log(c instanceof Array) //false//只有 Function 类型的 c 才是 Function 的实例
console.log(a instanceof Function) //false
console.log(b instanceof Function) //false
console.log(c instanceof Function) //true

从以上代码来看,要判断复合数据类型,可以如下判断:

//对象
(a instanceof Object) && !(a instanceof Function) && !(a instanceof Function)
//数组
(a instanceof Object) && (a instanceof Array)
//函数
(a instanceof Object) && (a instanceof Function)

更简便的方式,即是使用 Object.prototype.toString.call() 来确定类型,ECMA 5.1 中关于该方法的描述[1]是这样的:

 

转载于:https://www.cnblogs.com/qiuwenjuan/p/3398740.html

用JavaScript怎么实现页面跳转 类:具有相同特征的事物的种类。http://zhidao.baidu.com/question/133995150.html...相关推荐

  1. javascript传值和页面跳转传值(ASP.NET页面传参的三种方法)

    我在csdn上提的问题是        我现在希望从asp.net网页弹出对话框,弹出一些错误信息.警告.提示信息之类的东西,目前准备用javascript实现,所以我希望在调这个对话框的时候,动态传 ...

  2. html中实现页面跳转代码怎么写,用JavaScript怎么实现页面跳转?

    JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能.下面我们来看一下如何使用JavaScript跳转页面. JavaScript中几种页面跳 ...

  3. js(javascript)中页面跳转和窗口关闭等操作

    一.当前页面打开指定URL页面 1.self.loaction.href="/具体路径" 2.location.href="/具体路径" 3.windows.l ...

  4. 说说如何使用 vue-router 实现页面跳转

    vue-router 有两种实现页面跳转的方法. 1 <router-link> 组件 <template><div><h3>首页</h3> ...

  5. 扩展springmvc组件——当页面跳转时,需要在Controller里面创建一个空方法去跳转或者是创建一个配置类  ||日期格式化说明||自定义格式化器||消息转化器扩展fastjson

    在容器中注册视图控制器 当页面跳转时,我们需要在Controller里面创建一个空方法去跳转,那么有没有别的配置方法呢 创建一个WebMvcConfig的配置类   实现WebMvcConfigure ...

  6. swift 原生给h5发消息_Swift-WKWebView与JavaScript的细节,H5页面跳转原生界面

    大家(也包括我)要学会 明白一件事情(注意断句,哈哈).优秀的程序猿会将问题简单化. 世界上有10种人,一种是先把问题复杂化,然后在一点点的做减法:另一种是先把问题简单化,然后在慢慢的做加法:(好了该 ...

  7. Javascript倒计时页面跳转

    Javascript倒计时页面跳转 在js中实现页面定时跳转我们要使用setInterval或setTimeOut函数,还可以使用页面的meta实现. 例1: <script type=&quo ...

  8. 解决RequestMapping写在类上页面跳转失败

    解决RequestMapping写在类上页面跳转失败 问题: 问题出现原因: @RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上. 用于类上,表示类中的所有响应请求的方法 ...

  9. JavaScript - 唤醒 app store 跳转到苹果商店内下载指定应用页面 安卓跳转默认浏览器应用页面

    本篇文章主要记录通过微信分享页判断设备类型并跳转对应的下载页: 安卓跳转默认浏览器 苹果跳转苹果商店App Store 通过 window.navigator 获取智能机信息.浏览器版本信息 获取智能 ...

最新文章

  1. 6款实用开源报表工具 | 码云周刊第 83 期
  2. 【转载】尝试使用GraphicsMagick的缩略图功能
  3. 【 D3.js 入门系列 --- 2 】 怎样使用数据和选择元素
  4. 初等数论--整除--线性组合与最大公因数之间的关系
  5. [web性能优化] - 使用在线工具对html、js、css进行压缩
  6. php 新浪url,PHP URL函数详解
  7. python函数式编程思想_python函数式编程
  8. c语言e怎么表示_C语言编程基础知识汇总学习,适合初学者!
  9. 欧姆龙cp1h指令讲解_欧姆龙plc指令讲解.ppt
  10. for循环判定质数合数
  11. 评论:中国网络游戏虚拟物品交易的前景
  12. 项目管理中用什么工具可以增强团队协作?
  13. android中关闭软键盘
  14. 硬件电路设计之三极管和场效应管做开关管
  15. 好几年不更新了,随便聊聊
  16. 神器VIM配置文件进阶v1.0beta
  17. SISD、MIMD、SIMD、MISD计算机的体系结构的Flynn分类法
  18. Google搜索规则——更准确的获取内容
  19. YTU2018级每周训练-动态规划1
  20. #ifdef __cplusplus 倒底是什么意思?

热门文章

  1. 大闹天竺里的机器人_在《大闹天竺》中哪一位演员是你喜欢的
  2. python requests库作用_python Requests库入门
  3. typora 公式_如何用Typora写Markdown上传至知乎
  4. 五天学习MySQL 数据库教程(一)1.2SQL介绍
  5. linux文件管理系统开发毕业,定稿毕业论文基于Linux的远程管理系统服务器端的实现word文档(范文1)...
  6. pytorch adagrad_【学习笔记】Pytorch深度学习—优化器(二)
  7. windows获取硬件设备的guid_Windows编程技术:提权技术(下)
  8. asl不成功怎么算_那些减肥成功还不反弹的人是怎么做到的?
  9. qchart 图表_QChart双Y轴实时更新曲线图
  10. python安装好了怎么打不开机_安装后无法启动MySQL怎么办