1. onSubmit = "return function ()";
2. <input type="text" name="fname" required>
3. var obj = JSON.parse(text); //JavaScript 内置函数 JSON.parse() 将字符串转换为 JavaScript 对象 JSON.stringify() //用于将值转换为 JSON 字符串。
4. <a href="javascript:void(0)">单击此处什么也不会发生</a>
5. 获取对象的属性和属性值
Object.getOwnPropertyNames(obj); //返回对象的属性数组 ['id', 'name', ..] Object.keys(obj) //返回对象的属性数组
6. js捕获异常
$scope.startQRCode = function() { try { if (typeof(JsInterface) == 'undefined') { throw 'undefined'; } JsInterface.startQRCode(); } catch(error) { if (angular.equals(error, 'undefined')) { showMessage('请在app内使用'); } } };
7. js的addEventListener();
通常我们说的dom元素的js事件如下元素:
// onclick指的是该元素的点击事件句柄: 句柄定义了元素触发条件,简称为onclick事件
<div id="testEventListener" onclick="click()">content</div> // onclick为句柄名称 click()为句柄函数
而addEventListener表示的是像dom元素中添加制定的事件句柄
addEventListener(eventName, callBack, useCapture); eventName: 事件名称 callBack(event)回掉函数, 参数表示当前事件对象 useCapture: true:捕获 false:冒泡
8. js中的prototype, __proto__, constructor: 参考: http://blog.csdn.net/tanzhengyu/article/details/50888657
* javscript中,万物皆为对象,这些对象分为函数对象(var f = function() {...})和普通对象 var a = {...} ;
constructor: 每个js的对象实例都有, 表示当前对象的构造函数
__proto__: 每个js对象都有, 表示当前对象的构造函数的原型对象
prototype: 函数对象才有, 表示当前函数的原型对象,
js中所有函数对象的__proto__都是Funtion.prototype: 因为__proto__表示当前对象的构造函数的原型对象, 而函数对象的构造函数为Function, 所以Fn.__proto__ == Function.prototype
* 组合使用构造函数和原型来创造对象(自定义类型,也叫引用类型)
这是常用的自定义类型的创建方式,构造函数用来定义实例属性,而原型用于定义方法和共享属性。因此,每一个实例都会有自己的一份实例属性的副本,但同时又共享着对方法的引用,最大限度的节约了内存
8. js中的闭包
js中的闭包提供了一种在函数外部访问函数内部私有变量的机制, 通常使用内嵌函数达到此目的。如果在函数外部返回内部嵌套函数或者有其他的外部引用指向内嵌函数, 那么当前内嵌函数的作用域链和此父(外部)函数的作用域链都不会被垃圾回收, 从而可以在外部访问到函数内部的私有变量。