JavaScript对象`Object`构造函数的`Object.length`属性有什么意义?

时间:2016-08-24 05:10:23

标签: javascript oop object

JavaScript语言的内置全局Object对象的documentation表示

  

Object.length

     
    

值为1.

  

此属性的重要性是什么,另外,为什么我们object.length可以array.length使用length

乍一看,在我看来,后一个问题的原因与对象的 bool useDefaultPrinter = (Request["useDefaultPrinter"] == "checked"); string printerName = Server.UrlDecode(Request["printerName"]); //create a temp file name for our PDF report... string fileName = Guid.NewGuid().ToString("N") + ".pdf"; Process printjob = new Process(); //printjob.StartInfo.FileName = @"../../../print/pos/print_without_preview/filename.pdf";//path of your file; //printjob.StartInfo.FileName = @"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe"; printjob.StartInfo.FileName = Server.MapPath("../../../print/pos/print_without_preview/filename.pdf");//path of your file; //printjob.StartInfo.Verb = "Print"; printjob.StartInfo.Verb = "PrintTo"; printjob.StartInfo.Arguments = "\"" + ddl_printer_list.SelectedValue + "\""; printjob.StartInfo.CreateNoWindow = true; printjob.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; PrinterSettings setting = new PrinterSettings(); setting.DefaultPageSettings.Landscape = true; printjob.Start(); 属性的解释器中的可能混淆有关,使用属性访问/初始化的点符号方法

1 个答案:

答案 0 :(得分:6)

  

length属性指定function预期的参数数量。

由于Object属于函数的function类型和length属性 确定参数的数量,Object.length返回预期的参数长度。

请考虑以下示例:

function test(a, b, c) {}
console.log(test.length);

使用Object

console.log(typeof Object);
console.log(Object.length); //returns 1

“为什么object.length不能以与array.length相同的方式提供给我们?”

请注意array也是object类型(尝试typeof [])因此“为什么不是object.length对我们来说”不是字面上的正确。如果您引用object-without-indices,我们会使用key的{​​{1}}读取对象属性,如果没有密钥object,则length返回{ {1}}。