typeof
var f = function g() {
return 23;
};
typeof g();
如果是typeof f,结果是function
如果是typeof f(),结果是number
如果是typeof g,结果是undefined.
如果是typeof g(),结果是ReferenceError,g is not defined
判断对象类型
判断一个js对象是否是Array
arr为要判断的对象
instanceof 在跨 frame 对象构建的场景下会失效
Object.prototype.toString.call(arr) === ‘[object Array]’;
Array.isArray(arr)
原型
- 继承机制
javascript语言实现继承机制的核心就是 prototype
Javascript 解析引擎在读取一个Object的属性的值时,会沿着原型链向上寻找,如果最终没有找到,则该属性值为undefined; 如果最终找到该属性的值,则返回结果。
- for in
获取属性:不管属性在原型还是在实例上,通过for in都可以获取得到,而hasOwnProperty 只能获取到实例上的属性。
由于对象和数组不同,不能用下标来访问,只能用for in遍历
- 改变作用域链
with , try catch, eval(延长作用域链)
AJAX
- jquery ajax中支持的数据类型?
dataType
类型:String
预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断。
可用值:
“xml”: 返回 XML 文档,可用 jQuery 处理。
“html”: 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
“script”: 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 “cache” 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
“json”: 返回 JSON 数据 。
“jsonp”: JSONP 格式。使用 JSONP 形式调用函数时,如 “myurl?callback=?”, jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
“text”: 返回纯文本字符串
在标准的 JavaScript 中, Ajax 异步执行调用基于Event和callback
机制才能实现