美文网首页
类型系统

类型系统

作者: 洗阳光 | 来源:发表于2015-08-13 20:31 被阅读85次

基本类型

primitive types

<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof">typeof</a>

  • 可识别标准类型(Null除外)
  • 不能识别具体对象类型(function除外)
typeof

<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString">Object.prototype.toString</a>

  • 可识别标准类型及内置(build-in)对象类型
  • 不能识别自定义类型
Object.prototype.toString

<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/constructor">constructor</a>

  • 识别标准类型(undefined/null除外)
  • 识别内置对象类型
  • 识别自定义类型
constructor

<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof">instanceof</a>

  • 判别内置对象类型
  • 不能判别原始类型
  • 判别自定义类型
instanceof

实现type函数用于识别标准类型和内置对象类型,语法如下:

var t = type(obj);

使用举例如下:

var t = type(1) // t==="number"
var t = type(new Number(1)) // t==="number"
var t = type("abc") // t==="string"
var t = type(new String("abc")) // t==="string"
var t = type(true) // t==="boolean"
var t = type(undefined) // t==="undefined"
var t = type(null) // t==="null"
var t = type({}) // t==="object"
var t = type([]) // t==="array"
var t = type(new Date) // t==="date"
var t = type(/\d/) // t==="regexp"
var t = type(function(){}) // t==="function"

代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>typeof</title>
    <script>
        var type= function (a){
            var t = Object.prototype.toString.call(a);
            t = t.slice(8,16);
            for (var i = 0; i < t.length; i++) 
            {
                if (t[i]=="]") {
                    t= t.slice(0,t.length-1)
                };
            };
            alert(t);
        };
    </script>
</head>
<body>

相关文章

  • GraphQL学习——Schema和类型

    学习GraphQL类型系统 类型系统如何描述可以查询的数据 类型系统(Type System) Schema的意义...

  • 类型系统

    基本类型

    类型系统

    不得不说我对type的理解是非常浅薄的, 记得老头在去年的时候推荐了little typer给我,( 说起来这本书...

  • 玩转Golang之Struct结构体

    先介绍一下go语言的类型系统 Golang中的类型系统 类型系统是指一个语言的类型体系结构。一个典型的类型系统通常...

  • Docker之容器vim command not found

    目录 确认系统类型 RedHat系统vim安装 Debian系统vim安装 确认系统类型 首先检查Linux系统类...

  • (1)面向对象

    类型系统 类型系统是指一个语言的类型体系结构。一个典型的类型系统通常包含以下内容: 基础类型:byte int b...

  • 理解Typescript中的类型——特殊类型

    typescript 的类型分为用户类型和系统类型,而系统类型中又有基础类型和特殊类型、以及一部分高级类型,要运用...

  • TypeScript - 类型系统

    TypeScript - 类型系统 [TOC] 学习目标 了解类型系统类型标注类型检测的好处使用场景 掌握常用的类...

  • Python中API的类型系统是怎样开发的

    Python中API的类型系统是怎样开发的?讨论这个问题之前要先明白什么是 API 的类型系统,编程语言的类型系统...

  • Go的类型系统

    1、什么是类型系统 类型系统是 一个语言的类型体系结构。 类型系统才是一门编程语言的地基,它的地位至关重要。 Go...

网友评论

      本文标题:类型系统

      本文链接:https://www.haomeiwen.com/subject/vaxwqttx.html