Skip to content

Instantly share code, notes, and snippets.

View xuanfeng's full-sized avatar

ivan xuanfeng

View GitHub Profile
@xuanfeng
xuanfeng / getSystemInfo.js
Last active January 3, 2016 02:48
getSystemInfo: 获取系统信息函数
// get system info
var getOSInfo = function () {
var ver = navigator.userAgent;
var OS = navigator.platform;
if(OS == "Win32" || OS == "Windows") {
return 'Windows';
} else if(OS == "Mac68K" || OS == "MacPPC" || OS == "Macintosh" || OS == "MacIntel") {
return "Mac";
} else if(OS == "X11") {
return "Unix";
@xuanfeng
xuanfeng / extend.js
Last active January 3, 2016 02:39
extend()函数:用一个或多个其他对象来扩展一个对象,返回被扩展的对象
// 定义一个扩展函数,用来将第二个以及后续参数复制只第一个参数
// 这里我们处理了IE bug:在多数IE版本中
// 如果o的属性拥有一个不可枚举的同名属性,则for/in循环
// 除非我们先是检测它
var extend = (function(){ //将这个函数的返回值赋值给extend
// 在修复它之前,首先检查是否存在bug
for(var p in {toString: null}){
return function extend(o){
// 如果代码执行到这里,那么for/in循环会正确工作并返回
// 一个简单版本的extend()函数
@xuanfeng
xuanfeng / inherit.js
Last active January 3, 2016 02:39
通过原型继承创建一个新对象
function inherit(p){
if(p ==null) throw TypeError();
if(Object.create){
return Object.create(p);
}
var t = typeof p;
if(t !== "object" && t !== "function") throwTypeError();
function f(){};
f.prototype = p;
return new f();