日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

代码实践

發布時間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 代码实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

閉包舉例:

function closure(){var innerVariable = 'inner';function innerFn(){ return innerVariable;}return innerFn(); } var innerVariable = 'defined in outer'; var outerVariable = closure(); console.log(outerVariable);

測試字符串是否回文:

function testString(testString){var length = testString.length;for(var i = 0; i <= (length-1)/2;i++){if(testString[i] !== testString[length - 1 - i]){return false;}}return true; }

?

var isPalindrome = function(testString){var length = testString.length;var splittedArray = testString.split('');return splittedArray.join() == splittedArray.reverse().join(); }console.log(isPalindrome('1221')); console.log(isPalindrome('1344'))

?

var isPalindrome = function(testString){var length = testString.length;for(var i = length - 1,j=0; i >= 0;i--){
     if(i <= j){
      return true;
     }
if(testString[i] == testString[j++]){continue;}else{return false; } }return true; }console.log(isPalindrome('121')) console.log(isPalindrome('1221')) console.log(isPalindrome('1234'))

?

function isPalindrome(testString){var reversedString = '';for(var i = testString.length; i >= 0; i-- ){reversedString += testString.charAt(i);}if(reversedString == testString){return true;}else{return false;} }console.log(isPalindrome('121')); console.log(isPalindrome('1213'));

?

數組去重:

function uniqueArray(array){ var isArray = function(array){ var isArray = Object.prototype.toString.call(array) == "[object Array]"; if(isArray){ console.log(array + ' is an array'); } else{ console.log(array + ' is not an array'); } return isArray; } if(!!isArray(array)){ var length = array.length; for(var i = length - 1; i >=0; i--){ if(i == 0){ continue; } for(var j = i - 1; j>=0;j--){ if(array[j] == array[i]){ console.log(array[j]); array.splice(j,1); } console.log(array) } } console.log(array); return array; }else{ return null; } }var testArray = [12,123,34,12]; testArray = uniqueArray(testArray); console.log(testArray)

?

Curry Function:

function curry(fn,arg1,arg2){ var toArray = function(args,n){return Array.prototype.slice.call(args,n);} var requiredArgsLength = fn.length; console.log('requiredArgsLength:' + requiredArgsLength); if((arguments.length - 1) < requiredArgsLength){ console.log('lack of arguments'); var partialArgs = toArray(arguments,1); console.log(partialArgs); return function(){ var args = partialArgs.concat(toArray(arguments,0)); console.log('completeArgs:' + args); return fn.apply(null,args); } } else{ return fn.apply(null,toArray(arguments,1));} }function add(arg1,arg2){ return arg1 + arg2; } console.log(curry(add,4,5)) var curriedFn = curry(add,4); curriedFn(5)

?

Fibnacci:

function fib(n){if(n==1 || n ==0) {return n;} else{return n*fib(n-1)}}

?

//indexof test

var testNum = 9;

~testNum + 1 == -testNum;

?

?

查找特定tag:

function tagCounter(tagName){
switch(tagName.toLowerCase()){
case 'p': return document.getElementsByTagName('p');
case 'a': return document.getElementsByTagName('a');
}
}

實現繼承:

var parent = function(){this.parentName = 'parent';} var child = function(){this.childName = 'child'} child.prototype = new parent(); var childInstance = new child(); childInstance.childName childInstance.parentName childInstance.__proto__ instanceof parent

?

閉包:


function outerFunction(){
var innerValue = 10;
return function(){
return innerValue;
}
}

var outerValue = outerFunction()();
console.log(outerValue);

利用構造函數實現繼承:

var parentObject = {parentName:'parent'}
var childObject = {childName: 'child'}
var tempFunction = function(){}
tempFunction.prototype = parentObject
childObject = new tempFunction
childObject.parentName

比較對象是否相等:

function isEqualObject(src,obj){ var srcJSONString = JSON.stringify(src) var objJSONString = JSON.stringify(obj) if(!( (/:/.test(srcJSONString)).length == (/:/.test(objJSONString)).length){return false;} if(keys(src) != keys(obj)){ return false; } for(var i in src){ if(src[i] == obj[i]){ continue;} else{return false}} return true; }function keys(obj){ var keysArray = []; for(var i in obj){ if(obj.hasOwnProperty(i)){ keysArray.push(i) } else{continue;} } }

underscorejs自己實現:

function delay(fn,milliseconds){setTimeout(fn,milliseconds)}

多態:

function multiple(){
if(arguments.length == 0){
console.log('please provide params');
return false;
}
else if(arguments.length == 1){
return arguments[0]
}
else if(arguments.length == 2){
return arguments[0]+ arguments[1]
}
}

console.log(multiple())
console.log(multiple(2))
console.log(multiple(2,3))

?

throttled Version:

var clickHandler = function(e){console.log(e);console.log(new Date())}

var throttledClickHandler = _.throttle(clickHandler,2000)

window.addEventListener('click',throttledClickHandler)

?

debounce version:

var clickHandler = function(e){console.log(new Date())}

var debouncedClickHandler = _.debounce(clickHandler,2000)

window.addEventListener('click',debouncedClickHandler)

?

extend example:

?

var testPropertyObject = {name:'test'}
var targetObject = {testProperty:testPropertyObject}
var destinationObject = _.extend(targetObject,{extendProperty:'extended'})
destinationObject.testProperty == testPropertyObject
destinationObject.testProperty === testPropertyObject

綁定多個事件:

$('.noresult').on({'click':function(e){console.log('click')},'touchstart':function(e){console.log('touchStart')}})

?

取消多個事件的綁定:

$('.noresult').on('touchstart',function(e){console.log('touchstart')})

$('.noresult').on('click',function(e){console.log('click')})

$('.noresult').off(['click','touchstart'])

轉載于:https://www.cnblogs.com/social/p/4325226.html

總結

以上是生活随笔為你收集整理的代码实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。