Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以给javascript对象变量分配一个字符串吗?_Javascript - Fatal编程技术网

我可以给javascript对象变量分配一个字符串吗?

我可以给javascript对象变量分配一个字符串吗?,javascript,Javascript,对于有经验的开发人员来说,这似乎是一个简单的问题,但我在堆栈溢出中没有找到答案 如果我像这样声明一个变量,var name={} 我想现在我的名字是一个物体 我可以给这个变量名分配一个字符串吗,比如name=“Foo” 这样行吗 如果这起作用,有什么缺点吗 (我知道我可以将名称声明为var name=“”;但我记得在javascript中,任何东西都是对象(包括字符串,所以字符串也是对象))。正如yBrodsky提到的,您可以在javascript中这样做,因为JS变量没有类型化 您可以使用ty

对于有经验的开发人员来说,这似乎是一个简单的问题,但我在堆栈溢出中没有找到答案

如果我像这样声明一个变量,
var name={}

  • 我想现在我的名字是一个物体
  • 我可以给这个变量名分配一个字符串吗,比如
    name=“Foo”

  • 这样行吗
  • 如果这起作用,有什么缺点吗

  • (我知道我可以将名称声明为
    var name=“”;
    但我记得在javascript中,任何东西都是对象(包括字符串,所以字符串也是对象))。

    正如yBrodsky提到的,您可以在javascript中这样做,因为JS变量没有类型化

    您可以使用
    typeof
    运算符检查变量的类型

    msg = "hello";<br>
    typeof msg ;
    // returns "string"
    
    msg = { a:"b"};<br>
    typeof msg;                 
    // returns "object"
    
    msg=“你好”
    味精类型; //返回“字符串” msg={a:“b”}
    味精类型; //返回“对象”
    正如yBrodsky所提到的,您可以在javascript中这样做,因为JS变量不是类型化的

    您可以使用
    typeof
    运算符检查变量的类型

    msg = "hello";<br>
    typeof msg ;
    // returns "string"
    
    msg = { a:"b"};<br>
    typeof msg;                 
    // returns "object"
    
    msg=“你好”
    味精类型; //返回“字符串” msg={a:“b”}
    味精类型; //返回“对象”
    Javascript是一种动态类型语言。变量本身不包含任何数据类型,它的值位于定义其类型的变量内

    变量名称={};//将导致命名为“对象”类型
    name=“”;//将导致名称为“字符串”类型
    名称=[];//将导致名称为“对象”类型

    在Javascript中,一切都不是对象。有两种东西是原始人和土著人
    这些类型称为原语:null、未定义、number、string、boolean、symbol。 当我们执行typeof原语时,它不会返回对象(typeof null返回对象除外)

    本机:String()、Number()、Boolean()、Array()、Object()、Function()、RegExp()、Date()、Error()、Symbol()。 当我们对本地人进行typeof时,它将返回一个对象

    使用新关键字创建本机文件:

    var hey=新字符串(“rajat”)


    new将始终返回一个对象。

    Javascript是一种动态类型化语言。变量本身不包含任何数据类型,它的值位于定义其类型的变量内

    变量名称={};//将导致命名为“对象”类型
    name=“”;//将导致名称为“字符串”类型
    名称=[];//将导致名称为“对象”类型

    在Javascript中,一切都不是对象。有两种东西是原始人和土著人
    这些类型称为基元:null、未定义、number、string、boolean、symbol。 当我们执行typeof原语时,它不会返回对象(typeof null返回对象除外)

    本机:String()、Number()、Boolean()、Array()、Object()、Function()、RegExp()、Date()、Error()、Symbol()。 当我们对本地人进行typeof时,它将返回一个对象

    使用新关键字创建本机文件:

    var hey=新字符串(“rajat”)


    new将始终返回一个对象。

    JavaScript是动态类型化语言。简而言之,这意味着JS引擎会根据您分配给它的值的类型自动决定使用哪种类型。这也意味着您可以随时更改变量的类型

    var name = {} //name is object
    
    name = "" // name is now a string 
    
    name = function (a) { return a + a } //it's now a function
    
    最大的缺点是它会传播错误:

    • 您可能会无意中覆盖变量
    • 类型可以更改,尽管值几乎与
      1+“”//相同,但仍然是1,但不再是数字。现在它是一个字符串
    • 您可以随时通过
      typeof()
      函数检查您使用的类型,但在某些情况下
      typeof(new Array())//is object

    关于动态键入,您需要了解很多细微差别。如此之多,微软决定开发TypeScript——一个JavaScript的类型化超集,它的发明是为了让JS开发者的生活更轻松。它可以做JS可以做的任何事情,加上严格类型语言的一些特性,JavaScript是动态类型语言。简而言之,这意味着JS引擎会根据您分配给它的值的类型自动决定使用哪种类型。这也意味着您可以随时更改变量的类型

    var name = {} //name is object
    
    name = "" // name is now a string 
    
    name = function (a) { return a + a } //it's now a function
    
    最大的缺点是它会传播错误:

    • 您可能会无意中覆盖变量
    • 类型可以更改,尽管值几乎与
      1+“”//相同,但仍然是1,但不再是数字。现在它是一个字符串
    • 您可以随时通过
      typeof()
      函数检查您使用的类型,但在某些情况下
      typeof(new Array())//is object

    关于动态键入,您需要了解很多细微差别。如此之多,微软决定开发TypeScript——一个JavaScript的类型化超集,它的发明是为了让JS开发者的生活更轻松。它可以做JS可以做的任何事情,加上严格类型化语言的一些特性

    你可以做到这一点,因为在JS中变量不是类型化的,比如在Java中。但是,如果您知道变量是字符串,那么首先为什么要这样做呢?Google的JavaScript对象提供了以下文档:也可以尝试在StackOverflow之外的其他地方查找,资源非常丰富!您可以创建这样的示例
    name={};console.log(名称);name=“string”;console.log(名称)@yBrodsky正在寻找ES4?无论如何,运行时类型效率很低。更好的编译时类型和结构。(以数组表示)@您的文档中哪一行提到了我问题的答案?我想如果我的问题不在stackoverflow中,我可以在这里问,对吗?所以,更多的开发人员可以看到它。你可以这样做,因为在Js中变量不是类型化的,比如在Java中。但是,如果您知道变量是字符串,那么首先为什么要这样做呢