精华内容
下载资源
问答
  • typeof用法

    2019-10-09 04:02:00
    运算数为数字 typeof(x) = "number" 字符串 typeof(x) = "string" 布尔值 typeof(x) = "boolean" 对象,数组和null typeof(x) = "object" 函数 typeof(x) = "function" typeof 运算符返回一个用来表示表达式的数据类...

    typeof的运算数未定义,返回的就是 "undefined".
    运算数为数字 typeof(x) = "number"
    字符串 typeof(x) = "string"
    布尔值 typeof(x) = "boolean"
    对象,数组和null typeof(x) = "object"
    函数 typeof(x) = "function"
    typeof 运算符返回一个用来表示表达式的数据类型的字符串。
    可能的字符串有:"number"、"string"、"boolean"、"object"、"function" 和 "undefined"。

    转载于:https://www.cnblogs.com/yu-hailong/p/7441507.html

    展开全文
  • typeof 返回变量的类型字符串值 、其中包括 “object”、“number”、“string”、“undefined”、“boolean”。这篇文章重点给大家介绍ECMAScript typeof用法,需要的朋友参考下
  • Javascript typeof 用法

    2021-01-19 17:38:45
    = “undefined” ) {} 这个用法有误. 正确的是 if( typeof(document.mylist.length) != “undefined” ) {} 或 if( !isNaN(document.mylist.length) ) {} typeof的运算数未定义,返回的就是 “undefined”. 运算数为...
  • js中typeof用法和instanceof用法

    万次阅读 多人点赞 2020-04-21 17:43:19
    一、typeof的返回值 包括number,boolean,string,function(函数),object(NULL,数组,对象),undefined ,symbol(ES6新增)。 常用的就这些 // 数值 typeof 37 === 'number'; typeof 3.14 === 'number'; typeof...

    一、typeof的返回值

     包括 number,boolean,string,function(函数),object(NULL,数组,对象),undefined ,symbol(ES6新增)。

    常用的就这些

    // 数值
    typeof 37 === 'number';
    typeof 3.14 === 'number';
    typeof(42) === 'number';
    typeof Math.LN2 === 'number';
    typeof Infinity === 'number';
    typeof NaN === 'number'; // 尽管它是 "Not-A-Number" (非数值) 的缩写
    typeof Number(1) === 'number'; // Number 会尝试把参数解析成数值
    
    
    // 字符串
    typeof '' === 'string';
    typeof 'bla' === 'string';
    typeof `template literal` === 'string';
    typeof '1' === 'string'; // 注意内容为数字的字符串仍是字符串
    typeof (typeof 1) === 'string'; // typeof 总是返回一个字符串
    typeof String(1) === 'string'; // String 将任意值转换为字符串,比 toString 更安全
    
    
    // 布尔值
    typeof true === 'boolean';
    typeof false === 'boolean';
    typeof Boolean(1) === 'boolean'; // Boolean() 会基于参数是真值还是虚值进行转换
    typeof !!(1) === 'boolean'; // 两次调用 ! (逻辑非) 操作符相当于 Boolean()
    
    
    // Symbols
    typeof Symbol() === 'symbol';
    typeof Symbol('foo') === 'symbol';
    typeof Symbol.iterator === 'symbol';
    
    
    // Undefined
    typeof undefined === 'undefined';
    typeof declaredButUndefinedVariable === 'undefined';
    typeof undeclaredVariable === 'undefined'; 
    
    
    // 对象
    typeof {a: 1} === 'object';
    
    // 使用 Array.isArray 或者 Object.prototype.toString.call
    // 区分数组和普通对象
    typeof [1, 2, 4] === 'object';
    
    typeof new Date() === 'object';
    typeof /regex/ === 'object'; // 历史结果请参阅正则表达式部分
    
    
    // 下面的例子令人迷惑,非常危险,没有用处。避免使用它们。
    typeof new Boolean(true) === 'object';
    typeof new Number(1) === 'object';
    typeof new String('abc') === 'object';
    
    // 函数
    typeof function() {} === 'function';
    typeof class C {} === 'function'
    typeof Math.sin === 'function';

    在 ECMAScript 2015 之前,typeof 总能保证对任何所给的操作数返回一个字符串。即便是没有声明的标识符,typeof 也能返回 'undefined'。使用 typeof 永远不会抛出错误。

    但在加入了块级作用域的 let 和 const 之后,在其被声明之前对块中的 let 和 const 变量使用 typeof 会抛出一个 ReferenceError。块作用域变量在块的头部处于“暂存死区”,直至其被初始化,在这期间,访问变量将会引发错误。

     

    二、instanceof

    语法

    object instanceof constructor

    参数

    object

    某个实例对象

    constructor

    某个构造函数

    描述

    instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。

    也就是说是否继承

    // 定义构造函数
    function C(){} 
    function D(){} 
    
    var o = new C();
    
    
    o instanceof C; // true,因为 Object.getPrototypeOf(o) === C.prototype
    
    
    o instanceof D; // false,因为 D.prototype 不在 o 的原型链上
    
    o instanceof Object; // true,因为 Object.prototype.isPrototypeOf(o) 返回 true
    C.prototype instanceof Object // true,同上
    
    C.prototype = {};
    var o2 = new C();
    
    o2 instanceof C; // true
    
    o instanceof C; // false,C.prototype 指向了一个空对象,这个空对象不在 o 的原型链上.
    
    D.prototype = new C(); // 继承
    var o3 = new D();
    o3 instanceof D; // true
    o3 instanceof C; // true 因为 C.prototype 现在在 o3 的原型链上
    function Car(make, model, year) {
      this.make = make;
      this.model = model;
      this.year = year;
    }
    var mycar = new Car("Honda", "Accord", 1998);
    var a = mycar instanceof Car;    // 返回 true
    var b = mycar instanceof Object; // 返回 true

    要检测对象不是某个构造函数的实例时,你可以这样做

    if (!(mycar instanceof Car)) {
      // Do something, like mycar = new Car(mycar)
    }

     

    展开全文
  • = “undefined” ) {} 这个用法有误. 正确(的)是 if( typeof(document.mylist.length) != “undefined” ) {} 或 if( !isNaN(document.mylist.length) ) {} typeof(的)运算数未定义,返回(的)就是 “undefined”. ...
  • 本文章来介绍在js使用中的一个函数typeof用法, typeof 运算符把类型信息当作字符串返回,包括有大家常有变量类型。 typeof 运算符把类型信息当作字符串返回。typeof 返...
    本文章来介绍在js使用中的一个函数typeof用法, typeof 运算符把类型信息当作字符串返回,包括有大家常有变量类型。

    typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."我们可以使用typeof来获取一个变量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。


    typeof 语法中的圆括号是可选项。


    if(document.mylist.length != “undefined” ) {} 这个用法有误.

    正确的是 if( typeof(document.mylist.length) != “undefined” ) {}

    或 if( !isNaN(document.mylist.length) ) {}

    typeof的运算数未定义,返回的就是 “undefined”.

    运算数为数字 typeof(x) = “number”

    字符串 typeof(x) = “string”

    布尔值 typeof(x) = “boolean”

    对象,数组和null typeof(x) = “object”

    函数 typeof(x) = “function”

    typeof 运算符返回一个用来表示表达式的数据类型的字符串。
    可能的字符串有:”number”、”string”、”boolean”、”object”、”function” 和 “undefined”。
    如:

     代码如下
    alert(typeof (123));//typeof(123)返回”number”
    alert(typeof (“123″));//typeof(“123″)返回”string”

     
    对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。

    如果我们希望获取一个对象是否是数组,或判断某个变量是否是某个对象的实例则要选择使用instanceof。instanceof用于判断一个变量是否某个对象的实例,如var a=new Array();alert(a instanceof Array);会返回true,同时alert(a instanceof Object)也会返回true;这是因为Array是object的子类。再如:function test(){};var a=new test();alert(a instanceof test)会返回true。

    友情提示

    a instanceof Object 得到true并不是因为 Array是Object的子对象,而是因为 Array的prototype属性构造于Object,Array的父级是Function

    Examples

    // Numbers
    typeof 37 === 'number';
    typeof 3.14 === 'number';
    typeof(42) === 'number';
    typeof Math.LN2 === 'number';
    typeof Infinity === 'number';
    typeof NaN === 'number'; // Despite being "Not-A-Number"
    typeof Number(1) === 'number'; // but never use this form!
    // Strings
    typeof "" === 'string';
    typeof "bla" === 'string';
    typeof (typeof 1) === 'string'; // typeof always returns a string
    typeof String("abc") === 'string'; // but never use this form!
    // Booleans
    typeof true === 'boolean';
    typeof false === 'boolean';
    typeof Boolean(true) === 'boolean'; // but never use this form!
    // Symbols
    typeof Symbol() === 'symbol'
    typeof Symbol('foo') === 'symbol'
    typeof Symbol.iterator === 'symbol'
    // Undefined
    typeof undefined === 'undefined';
    typeof declaredButUndefinedVariable === 'undefined';
    typeof undeclaredVariable === 'undefined';
    // Objects
    typeof {a:1} === 'object';
    // use Array.isArray or Object.prototype.toString.call
    // to differentiate regular objects from arrays
    typeof [1, 2, 4] === 'object';
    typeof new Date() === 'object';
    // The following is confusing. Don't use!
    typeof new Boolean(true) === 'object';
    typeof new Number(1) === 'object';
    typeof new String("abc") === 'object';
    // Functions
    typeof function(){} === 'function';
    typeof class C {} === 'function';
    typeof Math.sin === 'function';

    null

    // This stands since the beginning of JavaScript
    typeof null === 'object';

    In the first implementation of JavaScript, JavaScript values were represented as a type tag and a value. The type tag for objects was 0. null was represented as the NULL pointer (0x00 in most platforms). Consequently, null had 0 as type tag, hence the bogus typeof return value. (reference)

    A fix was proposed for ECMAScript (via an opt-in), but was rejected. It would have resulted intypeof null === 'null'.

    Regular expressions

    Callable regular expressions were a non-standard addition in some browsers.

    typeof /s/ === 'function'; // Chrome 1-12 Non-conform to ECMAScript 5.1
    typeof /s/ === 'object'; // Firefox 5+ Conform to ECMAScript 5.1

    Exceptions

    All current browsers expose a non-standard host object document.all with type Undefined.

    typeof document.all === 'undefined';

    Although the specification allows custom type tags for non-standard exotic objects, it requires those type tags to be different from the predefined ones. The case of document.all having type tag'undefined' must be classified as an exceptional violation of the rules.


    转载于:https://www.cnblogs.com/ysk123/p/9818723.html

    展开全文
  • typeof用法总结

    2020-03-23 12:44:43
    1 .typeof 参数是变量或表达式 #define min(x, y) ({ \ typeof(x) _min1 = (x); \ typeof(y) _min2 = (y); \ (void) (&_min1 == &_min2); \ _min1 < _min2 ? _min1 : _min2; }) 当x的类型为是...

    1 .typeof 参数是变量或表达式

    #define min(x, y) ({        \
      typeof(x) _min1 = (x);     \
      typeof(y) _min2 = (y);     \
      (void) (&_min1 == &_min2);   \
      _min1 < _min2 ? _min1 : _min2; })
    

    当x的类型为是 int 时 _min1变量的数据类型则为 int。
    当x为一个表达式时(例: x = 3-4), _min1变量的数据类型为这个表达式结果的数据类型。

    2 .typeof 参数是函数

    int function(int, int);
     typeof(function(1. 2)) val;
    

    此时val的数据类型为 函数function(int, int)返回值的数据类型 ,即int类型。(注意: typeof并不会执行函数function)。

    typeof关键字有点类似与c++中的decltype关键字。

    展开全文
  • js中typeOf用法

    2016-02-19 12:42:03
    js中typeOf用法 博客分类:  js Web前端   JS中的变量是松散类型(即弱类型)的,可以用来保存任何类型的数据。 typeof 可以用来检测给定变量的数据类型,可能的返回值:1. 'undefined' --- 这...
  • Javascript typeof用法

    2019-09-25 00:36:15
    在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其...= "undefined" ) {} 这个用法有误. 正确的是 if( typeof(document.mylist.length) != "undefined" ) {} 或 if( !isNaN(document....
  • ECMAScript typeof用法

    2018-07-25 14:28:00
    typeof 返回变量的类型字符串值 、其中包括 “object”、“number”、“string”、“undefined”、“boolean”、 1、在变量只声明、却不初始化值 Or 在变量没有声明时 返回 “undefined” > var b undefined...
  • typeof用法介绍

    2018-05-15 11:24:24
    typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: “number,” “string,” “boolean,” “object,” “function,” 和 “undefined”。...我们可以使用typeof来获取一个变量是否存在,如if...
  • js中typeof用法

    2020-03-20 21:31:33
    typeof 运算符把类型信息当作字符串返回。 语法: typeof运算符后接操作数:typeof operand 或 typeof(operand) 返回值:
  • string的typeof用法

    2019-06-12 08:30:44
    typeof返回一个对象的数据类型 语法:typeof operand or typeof (operand)
  • 1、typeof用法如下所示 2、instanceof用法如下所示 3、js返回值判断不存在总结如下所示
  • 关于JavaScript中typeof用法

    千次阅读 2017-11-20 20:39:01
    typeof的作用就是用来 区分数据的类型 的首先,先说typeof使用方法(语法)(以判断n的数据类型为例)用法一:typeof(n) 用法二:typeof n数据类型包括六大类:number、string、boolean、undefined、object、...
  • JS中的typeof用法

    千次阅读 2021-02-22 11:10:43
    1、 typeof是一个运算符,有2种使用方式: 1、typeof(表达式) :对表达式做运算 2、typeof 变量名:对变量做运算。 2. typeof的返回值包括如下几种: 1、'undefined' --未定义的变量或值 2、'boolean' --...
  • js typeof用法

    2014-02-24 15:04:11
    经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组.typeof的运算数未定义,返回的就是 "undefined".运算数为数字 typeof(x) = "number"字符串 typeof(x) = "string"布尔...
  • JS中typeof用法

    2018-10-17 19:14:04
    1、typeof运算符把类型信息当作字符串返回,typeof返回值有六种可能:“string”,“number”,“boolean”,“object”,“function”,“undefined”. 判断一个变量是否存在: // var a; if(typeof a!="undefined...
  • js的typeof用法

    2014-06-15 21:33:49
    typeof 运算符 typeof 运算符有一个参数,即要检查的变量或值。例如: var sTemp = "test string"; alert (typeof sTemp); //输出 "string" alert (typeof 86); //输出 "number" 对变量或值调用 typeof 运算符...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 211,537
精华内容 84,614
关键字:

typeof用法