我有两个表:书籍和文章,它们之间有多对多的关系.加入表是BookArticles.
车型/ books.js
module.exports = function(sequelize, DataTypes) {
return Food = sequelize.define("Book", {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
allowNull: false,
autoIncrement: true,
unique: true
}
});
}
Run Code Online (Sandbox Code Playgroud)
车型/ articles.js
module.exports = function(sequelize, DataTypes) {
return Food = sequelize.define("Article", {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
allowNull: false,
autoIncrement: true,
unique: true
}
});
}
Run Code Online (Sandbox Code Playgroud)
车型/ bookArticles.js
module.exports = function(sequelize, DataTypes) {
return Food = sequelize.define("BookArticles", {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
allowNull: false,
autoIncrement: true,
unique: true
}, …Run Code Online (Sandbox Code Playgroud) 鉴于此课程; 我将如何迭代它包含的方法?
class Animal {
constructor(type){
this.animalType = type;
}
getAnimalType(){
console.log('this.animalType: ', this.animalType );
}
}
let cat = window.cat = new Animal('cat')
Run Code Online (Sandbox Code Playgroud)
我试过的是以下但没有成功:
for (var each in Object.getPrototypeOf(cat) ){
console.log(each);
}
Run Code Online (Sandbox Code Playgroud) 我对 SES 和 SESV2 之间 javascript aws-sdk 的差异感到困惑。我的默认假设是 V2 是升级/更新,应该涵盖基本 SES 模块具有的所有功能,但似乎存在很多差距,至少那些处理收据规则集的功能似乎缺失。或者我错过了什么?
例如,“listReceiptRuleSets”位于 aws-sdk SES 中,但不在 SESv2 中。V2中有类似的动作吗?
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#listReceiptRuleSets-property
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SESV2.html
我想通过此函数的泛化自动确定给定Javascript对象中的所有属性(包括隐藏的属性):
function keys(obj) {
var ll = [];
for(var pp in obj) {
ll.push(pp);
}
return ll;
}
Run Code Online (Sandbox Code Playgroud)
这适用于用户定义的对象,但许多内置程序都失败了:
repl> keys({"a":10,"b":2}); // ["a","b"]
repl> keys(Math) // returns nothing!
Run Code Online (Sandbox Code Playgroud)
基本上,我想编写Python的dir()和help()的等价物,它们在探索新对象时非常有用.
我的理解是只有内置对象具有隐藏属性(用户代码显然不能设置"可枚举"属性直到HTML5),因此一种可能性是简单地将Math,String等属性硬编码为dir()等价物(使用这里的列表).但有更好的方法吗?
编辑:好的,到目前为止我看到的最佳答案是在这个帖子上.你不能用你自己的JS代码轻松做到这一点,但最好的办法是在Chrome的开发者工具(Chrome - > View - > Developer - > Developer Tools)中使用console.dir.运行console.dir(Math)并单击三角形向下钻取以列出所有方法.这对于大多数交互/发现工作来说已经足够好了(你真的不需要在运行时这样做).
有没有办法列出所有JavaScript标准对象方法?
我的意思是我正在尝试获取String的所有内置方法,所以我在想,我确实尝试过这样做:
for( var method in String ) {
console.log( method );
}
// I also tried this:
for( var method in String.prototype ) {
console.log( method );
}
Run Code Online (Sandbox Code Playgroud)
但没有运气.此外,如果解决方案应该适用于所有ECMAScript标准类/对象.
编辑:我想指出解决方案应该在服务器端环境中工作,如rhino或node.js.
并尽可能不使用第三方API /框架.
我有以下JS对象:
function AdvancedFilters() {
var self = this;
self.AdvancedColId = ko.observable();
self.AdvancedComapanyName = ko.observable();
self.AdvancedClientCountry = ko.observable();
self.AdvancedClientCity = ko.observable();
self.AdvancedDatabaseLocation = ko.observable();
self.AdvancedUserName = ko.observable();
self.AdvancedEmail = ko.observable();
self.AdvancedPhoneNo = ko.observable();
self.AdvancedAccessFrom = ko.observable();
self.AdvancedAccessTo = ko.observable();
self.AdvancedCreatedOn = ko.observable();
self.AdvancedCandidates = ko.observable();
self.AdvancedErrorsReported = ko.observable();
self.AdvancedActive = ko.observable();
self.AdvancedRequestes = ko.observable();
}
Run Code Online (Sandbox Code Playgroud)
我必须循环遍历AdvancedFilters对象中存在的所有属性,并执行适用于所有属性的操作,而不是单独访问每个属性.我必须这样:
for (var property in AdvancedFilters) {
// do something with property
}
Run Code Online (Sandbox Code Playgroud)
我尝试了上面的语法,但它无法正常工作.
我想对数组对象上可用的方法进行自省
> console.log(Array.prototype)
[]
undefined
> console.log(Array.prototype.push)
[Function: push]
Run Code Online (Sandbox Code Playgroud)
我如何查看或记录对象原型上可用的所有属性/方法?
在这篇文章中如何显示一个对象的所有方法?,它说“您可以使用 Object.getOwnPropertyNames() 来获取属于一个对象的所有属性,无论是否可枚举”。通过示例,我们可以看到所有属性都包括Math列出的对象的方法。我尝试并得到了相同的结果。
然后我尝试定义我自己的对象并以相同的方式列出它的属性,但为什么没有列出方法?例如console.log(Object.getOwnPropertyNames(animal))为什么它只返回["name", "weight"]而不包括"eat", "sleep" and wakeUp?
function Animal(name, weight) {
this.name = name;
this.weight = weight;
}
Animal.prototype.eat = function() {
return `${this.name} is eating!`;
}
Animal.prototype.sleep = function() {
return `${this.name} is going to sleep!`;
}
Animal.prototype.wakeUp = function() {
return `${this.name} is waking up!`;
}
var animal = new Animal('Kitten', '5Kg');
console.log(Object.getOwnPropertyNames(animal)); // ["name", "weight"]Run Code Online (Sandbox Code Playgroud)
另一个例子是,为什么下面的一个返回属于超类的属性,因为它是Triangle从Shape …
javascript ×8
node.js ×2
amazon-ses ×1
arrays ×1
aws-sdk-js ×1
ecmascript-6 ×1
express ×1
hidden ×1
iteration ×1
knockout.js ×1
object ×1
python ×1
rhino ×1
sequelize.js ×1