这个基于构造函数的语法创建对象有什么区别:
person = new Object()
Run Code Online (Sandbox Code Playgroud)
...和这个文字语法:
person = {
property1 : "Hello"
};
Run Code Online (Sandbox Code Playgroud)
虽然JSLint更喜欢使用对象文字表示法,但它们似乎都做同样的事情.
哪一个更好,为什么?
我正在学习基础知识的JavaScript(虽然我用其他语言编写,比如C#).它突然出现了这个问题,即这两种方式的效率更高,应该作为一般规则使用.
我确信并期待没有确定的答案,但我想知道一般的利弊.
谢谢!!
我正在通过Codeacademy工作,他们表明你必须写两个.但他们没有解释为什么你需要两者.
我知道关于这个问题有很多类似的问题,但我一直试图通过我自己解决这个问题而且我无法做到这一点,已经有一周了.
我想要做的只是用文本框过滤列表.代码如下:
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Magic Towns</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="css/styles.css">
<style>
html,
body {
font-family: Arial, sans-serif;
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<div class="menuContainer">
<span class="center" style="font-size:30px;cursor:pointer" onclick="openNav()">☰</span>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="#"><h1>Locations:</h1></a>
<form role="search">
<input type="text" data-bind="value: query, valueUpdate: 'keyup'" placeholder="Search...">
</form>
<div data-bind='with currentPlace' >
<div data-bind='foreach: placeList'>
<p href="#" class="whiteFont" …
Run Code Online (Sandbox Code Playgroud)