JavaScript 在函数中声明键值对
javascript declaring key value pair in a function
假设我有一个对象,其中有一个函数,并且在函数内部声明了一些键值。如果每个函数都是JavaScript中的函数对象,那么在其中声明键值对是完全合法的。
var a ={
a: "shiv",
b: "shiv1",
c: function(){
L:"shiv1",
console.log(L);
}
}
如何访问这些密钥。 在什么情况下我需要向函数添加键值对。 这表示什么。例如,在此函数中,如何访问L键。
编辑 1:控制台.log行将通过错误。假设我们只有这段代码
var a ={
a: "shiv",
b: "shiv1",
c: function(){
L:"shiv1",
}
}
在函数中声明密钥意味着什么。 如果我需要访问 L 键,我该怎么做
每个函数也是一个对象,这意味着您确实可以为它设置属性。事实上,每个函数都有length
属性,它表示该函数接受的形式参数的数量。
但是,用于设置函数属性的语法不是应该如何操作的。即使您使用的是完全有效的语法,这也是标签语句,而不是属性定义语法。如果你想在你的情况下为函数对象设置一个属性,你可以这样做:
function c() {
console.log(c.L) // => "I'm a property of c function"
}
c.L = "I'm a property of c function";
var a = {
a: "shiv",
b: "shiv1",
c: c
}
什么时候有用?就像我说的,它的用途有限,比如length
函数的属性,但在许多情况下,你不需要直接在函数级别设置属性。
这必须是抛出错误:
L:"shiv1",
console.log(l);
您可能希望:
c: function(){
return {L:"shiv1"};
}
然后按以下方式访问它:
a.c().L;
完整示例如下:
var a ={
a: "shiv",
b: "shiv1",
c: function(){
return {L:"shiv1"}
}
}
alert(a.c().L);
不能像在函数中那样声明键。这不起作用:
c: function(){
L:"shiv1", //Declaration don't work in this context
console.log(l); //Don't work
}
试试这个(请删除"函数"语句(:
c: {
L:"shiv1"
}
此外,您可以这样做:
c: function() {
var test = "shiv1";
return test;
}
如果要使用参数:
c: function(a, b) {
var test = a + " shiv1 " + b;
return test;
}
或:
c: function(a, b) {
var total = a + b;
return total;
}
相关文章:
- 正在数组中存储键值对
- 如何将新的键/值对元素添加到现有数组
- 在键值对中对求和值进行下划线
- 返回由键/值对定义的数组
- 在url参数javascript中存储键值对列表
- 将数组转换为键值对
- jQueryAJAX-将额外的键/值对推送到序列化的$_POST数组中
- 使用jQuery从ajax调用访问键值对
- 将动态键值对传递给函数
- d3使用键值对对对多个值的数据进行分组
- JS在封装对象中查找键值对
- 从html标记格式的字符串中提取键值对
- JavaScript 在函数中声明键值对
- 在JavaScript中为表单元素生成键值对
- 如何给$('inputs')每个函数,以将数据存储为 asp.net 中的键值对
- 从 JSON 获取键值对而不使用 .(DOT) 在 Java 脚本或 jquery 中
- 在键值对的唯一组合上合并对象
- 如何在已经声明的JSON对象中添加键值对
- 在 JavaScript 中,在声明对象的新键:值对时,引用对象的变量名与使用“this”之间是否存在差异
- Typescript强类型键值对声明