function commonParentNode(oNode1, oNode2) {
for(;oNode1;oNode1 = oNode1.parentNode) {
console.log(oNode1)
if (oNode1.contains(oNode2)) {
return oNode1
}
}
}
function bindThis(f, oTarget) {
return f.bind(oTarget)
}
function namespace(oNamespace, sPackage) {
const arr = sPackage.split('.');
let tem = oNamespace;
arr.forEach(item => {
const flag = tem[item] instanceof Object
if(!flag) {
tem[item] = {};
tem = tem[item]
} else {
tem = tem[item]
}
})
return oNamespace
}
Array.prototype.uniq = function () {
return [...(new Set(this))]
}
function fibonacci(n) {
if(n > 0) {
if(n ===1 || n === 2) {
return 1
}else {
return fibonacci(n - 1 ) + fibonacci(n - 2)
}
}
}
function formatDate(t,str){
var obj = {
yyyy:t.getFullYear(),
yy:(""+ t.getFullYear()).slice(-2),
M:t.getMonth()+1,
MM:("0"+ (t.getMonth()+1)).slice(-2),
d:t.getDate(),
dd:("0" + t.getDate()).slice(-2),
H:t.getHours(),
HH:("0" + t.getHours()).slice(-2),
h:t.getHours() % 12,
hh:("0"+t.getHours() % 12).slice(-2),
m:t.getMinutes(),
mm:("0" + t.getMinutes()).slice(-2),
s:t.getSeconds(),
ss:("0" + t.getSeconds()).slice(-2),
w:['日', '一', '二', '三', '四', '五', '六'][t.getDay()]
};
return str.replace(/([a-z]+)/ig,function($1){return obj[$1]})
}
function strLength(s, bUnicode255For1) {
let size = s.length;
if(bUnicode255For1) return size;
for(let i = 0; i < s.length; i++) {
if(s.charCodeAt(i) > 255) size++;
}
return size;
}
function isAvailableEmail(sEmail) {
let reg = /^([\w+\.])+@(\w+)([.]\w+)+$/
return reg.test(sEmail)
}
function count(arr, item) {
var j=0;
arr.forEach(function(e){
if(e==item)
j++;
});
return j;
}
function duplicates(arr) {
var newArr =[]
for(var i =0 ;i<arr.length; i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]&&newArr.indexOf(arr[i])==-1){
newArr.push(arr[i])
}
}
}
return newArr
}
function count(start, end) {
if(start <= end){
console.log(start);
start++;
st = setTimeout(function(){count(start, end)}, 100);
}
return {
cancel: function(){clearTimeout(st);}
}
}
function fizzBuzz(num) {
if(num%3===0 && num%5===0){
return 'fizzbuzz';
}else if(num%3===0 && num%5!==0){
return 'fizz';
}else if(num%5===0 && num%3!==0){
return 'buzz';
}else if(num===null || typeof(num)!== 'number'){
return false;
}else{
return num;
}
}
function argsAsArray(fn, arr) {
return fn.apply(this,arr);
}
function speak(fn, obj) {
return fn.bind(obj)()
}
function functionFunction(str) {
var f=function(x){
return str+", "+x
}
return f
}
function makeClosures(arr, fn) {
let newArr=[];
for(var i =0;i<arr.length;i++){
newArr[i] = fn.bind(null,arr[i]);
}
return newArr;
}
function partial(fn, str1, str2) {
var result=function(str3){
return fn(str1,str2,str3)
}
return result
}
function useArguments() {
var num = 0;
for(var i=0;i<arguments.length;i++){
num += arguments[i];
}
return num;
}
function callIt(fn) {
return fn.apply(this,[].slice.call(arguments,1));
}
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1bkp3dg8znauz