单个对象

1
2
3
4
5
6
var obj = {
name: 'Zoe',
describe: function() {
return 'Person named ' + this.name;
}
};

使用时

1
2
3
4
obj.name;	// Zoe
obj.name = 'Zhai'; // 赋值
obj.age = 22; // 自动创建
obj.describe(); // Person named Zhai;

in操作符可以用来检测一个属性是否存在

1
2
'age' in obj;	// true
'foo' in obj; // false,不存在的属性为undefined值

delete操作符可以用来删除一个属性

1
2
delete obj.age;
obj.age; //undefined

构造函数

除了作为“真正”的函数和方法,函数还在JavaScript中扮演第三种角色:如果通过new操作符调用,他们会变为构造函数,对象的工厂。构造函数是对其他语言中的类的粗略模拟。约定俗成,构造函数的第一个字母大写。例如:

1
2
3
4
5
6
7
8
9
// 设置实例数据
function Point(x, y) {
this.x = x;
this.y = y;
}
// 方法
Point.prototype.dist = function () {
return Math.sqrt(this.x*this.x + this.y*this.y);
};

  1. 将*.so文件拷贝到app\libs\armeabi文件夹下
  2. 修改build.gradle文件,在buildTypes下添加
1
2
3
4
5
sourceSets {  
main {
jniLibs.srcDirs = ['libs']
}
}
  1. 在调用处
1
2
3
4
5
6
public native String  stringFromJNI();           //jni 函数名  
public native String getFFmpegVersionFromJNI(); //jni函数名
static {
System.loadLibrary("ffmpeg"); //加载.so文件
System.loadLibrary("ffmpeg-jni"); //加载.so文件
}

另一个方法
*.so文件导入android到app/src/main/jniLibs文件夹下

安装

1
sudo npm install -g supervisor

全局安装supervisor,mac上需要权限

应用

安装完成后,即可使用命令启动应用

1
supervisor app.js

在WebStorm中使用


按如上设置,Node parameters中设置/usr/local/lib/node_modules/supervisor/lib/cli-wrapper.js --exec /usr/local/bin/node --no-restart-on exit