如何访问我定义的JS对象
How can I access a JS object I have defined?
我有以下对象:
var IOBreadcrumb = {
breadcrumbs: [],
add: function(title, url){
var crumb = {
title: title,
url:url
};
this.breadcrumbs.push(crumb);
}
};
如何访问对象?
var breadcrumb = new IOBreadcrumb();
breadcrumb.add('some title','some url');
console.log(breadcrumb.breadcrumbs);
给我一个Uncaught Type Error: object is not a function
错误。
问题是您试图在对象上使用new
,但它实际上只能针对函数。尝试以下
var IOBreadcrumb = function IOBreadcrumb() {
this.breadcrumbs = [];
this.add = function(title, url) {
var crumb = {
title: title,
url:url
};
this.breadcrumbs.push(crumb);
};
};
或者,您也可以利用这里的原型,在的几个实例中共享add
的定义
var IOBreadcrumb = function IOBreadcrumb() {
this.breadcrumbs = [];
};
IOBreadcrumb.prototype.add = function (title, url) {
var crumb = {
title: title,
url:url
};
this.breadcrumbs.push(crumb);
};
使用IOBreadcrumb.add('some title','some url');
当前IOBreadcrumb
是具有静态函数add
的对象。如果您想创建IOBreadcrumb
的一个实例,您可以将其作为一个函数。
var IOBreadcrumb = function() {
this.breadcrumbs = [];
this.add = function(title, url) {
this.breadcrumbs.push({
title: title,
url: url
});
};
};
var breadcrumb = new IOBreadcrumb();
breadcrumb.add('some title','some url');
function createIOBreadcrumb() {
return {
breadcrumbs: [],
add: function(title, url) {
var crumb = {
title: title,
url:url
};
this.breadcrumbs.push(crumb);
};
};
}
var breadcrumb = createIOBreadcrumb();
function IOBreadcrumb() {
var breadcrumbs = [];
this.add = function(title, url){
var crumb = {
title: title,
url:url
};
breadcrumbs.push(crumb);
}
};
应该这样做,确切地说,这不是一个函数;(
相关文章:
- 要求未定义JS回调参数
- 如何在定义js文件后为外部javascript文件设置变量
- Rails资产管道-自定义js文件
- 定义js函数时冒号的含义是什么
- 在自定义 JS 游标上设置游标原点
- WordPress,添加自定义JS和Foundation JS
- 头中的wordpress自定义js
- 在brunc.io中创建一个自定义JS目录
- 如何在使用表库时为codeigniter锚点添加自定义js函数
- 将RequireJs与自定义JS插件一起使用
- 无法设置属性'name'的未定义JS
- 使用继承配置netzkejavascript代码(在带有参数的父类中定义js代码)
- 通过自定义JS功能激活Sencha Touch选项卡
- 在 PHP 中调用自定义 JS 警报
- 在 rails 4.1 中读取自定义 JS 文件
- 全局变量表示未定义 - JS
- 如果选中单选框或选择菜单更改,则运行自定义js函数
- Drupal 主题自定义 js 不仅在 /user 页面上执行
- 自定义 JS 图像查看器在每次按下“下一步”键后加载速度较慢
- 如何在Magento电子商务网站版本1.3.2.4中包含带有脚本的自定义js文件