js赋值变量显示不出其类型,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js赋值变量显示不出其类型,相关的知识,希望对你有一定的参考价值。

function myFunction()
var mywindow=document.write("app");
document.getElementById("demo").innerhtml=typeof mywindow;
为什么返回的值是app,而不是数据类型呢。

从头整理一下:<br>f1是function<br>f1()表示执行f1这个function,执行结果是f2这个function<br>f2()表示执行f2这个function,执行结果是alert(999)<br>result = f1() 表示把f1的执行结果赋给result,就是把f2赋给result,所以result()相当于f2(),能alert(999)<br>result = f1表示把f1赋给result,注意不是执行结果,所以result()等同于f1()等同于f2,而result()()才等同于f2(),这样才会alert(999) 参考技术A 可以,不用var修饰,代表这个变量是全局变量。 var obj = new Object(); obj.a = function() name = 'aaa'; obj.a(); alert(name); 看上面列子,name其实就是window对象的一个属性,也就是全局变量。追问

不明白你的意思,mywindow就是window对象的一个属性,也就是全局变量,那他的类型应该是什么。为什么这样写就不会显示出来,而是执行docuemnt.write

本回答被提问者和网友采纳
参考技术B document.write("")是不会返回任何数据的,typeof mywindow应该是undefined

js数据类型

JavaScript数据类型是非常简洁的,它只定义了6中基本数据类型

  • null:空、无。表示不存在,当为对象的属性赋值为null,表示删除该属性
  • undefined:未定义。当声明变量却没有赋值时会显示该值。可以为变量赋值为undefined
  • number:数值。最原始的数据类型,表达式计算的载体
  • string:字符串。最抽象的数据类型,信息传播的载体
  • boolean:布尔值。最机械的数据类型,逻辑运算的载体
  • object:对象。面向对象的基础
    #当弹出一个变量时:
    
    var aa;alert(aa);  //变量定义,弹出undefined
    
    
    
    #当判断一个变量是否存在时:
    
    var str;if( str == undefined )    //变量定义,可以这样判断
    
    if( str == undefined )     //变量未定义,报错ReferenceError: str is not defined
    
    所以,当判断一个变量是否不存在时,用 if( typeof str == ‘undefined‘ )

    typeof的使用:

    typeof 可以用来检测给定变量的数据类型,返回一个用来表示表达式的数据类型的字符串。

    alert(typeof 1);                // 返回字符串"number"  
    alert(typeof "1");              // 返回字符串"string"  
    alert(typeof true);             // 返回字符串"boolean"  
    alert(typeof {});               // 返回字符串"object"  
    alert(typeof []);               // 返回字符串"object "  
    alert(typeof function(){});     // 返回字符串"function"  
    alert(typeof null);             // 返回字符串"object"  
    alert(typeof undefined);        // 返回字符串"undefined"

 

以上是关于js赋值变量显示不出其类型,的主要内容,如果未能解决你的问题,请参考以下文章

js基本数据类型和typeof

js中变量的连续赋值

js中变量的连续赋值

JS学习笔记基本数据类型

js知识版图-引用类型赋值、浅拷贝、深拷贝

typeof摇树优化js预编译