js前端一些操作整理

异步加载js,

function loadScript(url, callback){
             var script = document.createElement("script")
             script.type = "text/javascript";
                            if (script.readyState){ //IE
                                         script.onreadystatechange = function(){
                                            if (script.readyState == "loaded" ||
                                                        script.readyState == "complete"){
                                                        script.onreadystatechange = null;
                                                        callback();
                                                     }
                                          };
                           } else { //Others: Firefox, Safari, Chrome, and Opera
                                   script.onload = function(){
                                     callback();
                              };
     }
    script.src = url;
    document.body.appendChild(script);
}

数组去重js,

function oSort(arr)
{
	var result ={};
	var newArr=[];
	for(var i=0;i<arr.length;i++)
	{
		if(!result[arr[i]])
		{
			newArr.push(arr[i])
			result[arr[i]]=1
		}
	}
	return newArr
}

深度克隆,

Object.prototype.deepClone=function(){
	function cloneObj(){}
	cloneObj.prototype=this;
	var obj=new cloneObj();
	for(var o in obj){
		if(typeof(obj[o])=="object")obj[o]=obj[o].deepClone();
	}
	return obj;
}

原生js代码ajax,

var xmlHttp;
function createxmlHttpRequest() {
	if (window.ActiveXObject) {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	} else if (window.XMLHttpRequest) {
		xmlHttp=new XMLHttpRequest();
	}
	function doPost(url,data){
// 注意在传参数值的时候最好使用encodeURI处理一下,以防出现乱码
createxmlHttpRequest();
xmlHttp.open("POST",url);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(data);
xmlHttp.onreadystatechange = function() {
	if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) {
		alert(‘success‘);
	} else {
		alert(‘fail‘);
	}
}
}
}

排序,

快速排序:
function oSort(arr)
{
	var left=[];
	var right=[];
	var oNum = Math.floor(arr.length/2);
	var oNumVode = arr.splice(oNum,1);
	for(var i=0;i<arr.length;i++)
	{
		if(arr[i]<oNumVode)
		{
			left.push(arr[i])
		}
		else
		{
			right.push(arr[i])
		}
	}
	return oSort(left).concat([oNumVode],oSort(right))
}

冒泡排序:
var array = [5, 4, 3, 2, 1];
var temp = 0;
for (var i = 0; i < array.length; i++)
{
	for (var j = 0; j < array.length - i; j++)
	{
		if (array[j] > array[j + 1])
		{
			temp = array[j + 1];
			array[j + 1] = array[j];
			array[j] = temp;
		}
	}
}

这几天mark的一些代码,放在这里啦。

时间: 2025-01-12 16:30:31

js前端一些操作整理的相关文章

原生js 样式的操作整理

内联样式的获取 function getStyle(obj,attr){//简单的获取内联样式 return obj.currentStyle?obj.currentStyle[attr]:obj.getComputedStyle(obj,false)[attr]; }   下面是比较完善的, //参考地址 http://stylechen.com/getstyle2.html var getStyle = function( elem, style ){ //单位如果em或%的单位,getCo

JS前端开发判断是否是手机端并跳转操作(小结)

JS前端开发判断是否是手机端并跳转操作(小结) 这篇文章主要介绍了JS前端开发判断是否是手机端并跳转操作,非常不错,具有参考借鉴价值,需要的朋友可以参考下 常用跳转代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 <script type="text/javascript">  // borwserR

闲话js前端框架(2)——庞大的angularjs

闲话js前端框架 前端人员=美工+设计+代码+测试 --题记 专题文章: 一.从avalonjs的模板说起 二.庞大的angularjs 三.再也不想碰DOM 四.组件化?有没有后端的事? 五.再看自己一年前设计的微型渲染引擎 六.在浏览器标准上做文章 七.抛开浏览器,构建应用容器 八.为何Flash.银光和Java都在网页端一蹶不振 本文属 西风逍遥游 原创, 转载请注明出处: 西风世界 http://blog.csdn.net/xfxyy_sxfancy 二.庞大的angularjs Ang

闲话js前端框架(6)——在浏览器标准上做文章

闲话js前端框架 前端人员=美工+设计+代码+测试 --题记 专题文章: 一.从avalonjs的模板说起 二.庞大的angularjs 三.再也不想碰DOM 四.组件化?有没有后端的事? 五.再看自己一年前设计的微型渲染引擎 六.在浏览器标准上做文章 七.抛开浏览器,构建应用容器 八.为何Flash.银光和Java都在网页端一蹶不振 本文属 西风逍遥游 原创, 转载请注明出处: 西风世界 http://blog.csdn.net/xfxyy_sxfancy 六.在浏览器标准上做文章 为了简化前

Numeral.js – 格式化和操作数字的 JavaScript 库

Numeral.js 是一个用于格式化和操作数字的 JavaScript 库.数字可以格式化为货币,百分比,时间,甚至是小数,千位,和缩写格式,功能十分强大.支持包括中文在内的17种语言. 您可能感兴趣的相关文章 太赞了!超炫的页面切换动画效果[附源码下载] 创意无限!一组网页边栏过渡动画[附源码下载] 真是好东西!13种非常动感的页面加载动画效果 你见过吗?9款超炫的复选框(Checkbox)效果 时尚设计!三种奇特网格加载效果[附源码下载] 源码下载      在线演示 本文链接:Numer

浅析js前端发展及mvvm的选型

最近终于下定决心学点前端的东西,然而各种框架,让人眼花缭乱. 先总结一下js前端的发展史 1.刀耕火种,原始时代 这个时候用DOM原生API来操html元素,估计getElementBy之类的函数满天飞 2.蒸汽机,工业时代 jquery等之类的框架出现,DOM操作被框架封装好,可以很方便的更新 3.电能,后工业时代 react.vue.angular.avalon等mvvm的出现,忘记操作DOM 说起mvvm实际上变量绑定,把DOM和js变量绑定,更新js变量就可以达到更新DOM的目的,或者双

闲话js前端框架(1)——从avalonjs的模板说起

闲话js前端框架 前端人员=美工+设计+代码+测试 --题记 专题文章: 一.从avalonjs的模板说起 二.庞大的angularjs 三.再也不想碰DOM 四.组件化?有没有后端的事? 五.再看自己一年前设计的微型渲染引擎 六.在浏览器标准上做文章 七.抛开浏览器,构建应用容器 八.为何Flash.银光和Java都在网页端一蹶不振 本文属 西风逍遥游 原创, 转载请注明出处: 西风世界 http://blog.csdn.net/xfxyy_sxfancy 一.从avalonjs的模板说起 我

闲话js前端框架(4)——组件化?有没有后端的事?

闲话js前端框架 前端人员=美工+设计+代码+测试 --题记 专题文章: 一.从avalonjs的模板说起 二.庞大的angularjs 三.再也不想碰DOM 四.组件化?有没有后端的事? 五.再看自己一年前设计的微型渲染引擎 六.在浏览器标准上做文章 七.抛开浏览器,构建应用容器 八.为何Flash.银光和Java都在网页端一蹶不振 本文属 西风逍遥游 原创, 转载请注明出处: 西风世界 http://blog.csdn.net/xfxyy_sxfancy 四.组件化?有没有后端的事? 提到组

闲话js前端框架(3)——再也不想碰DOM

闲话js前端框架 前端人员=美工+设计+代码+测试 --题记 专题文章: 一.从avalonjs的模板说起 二.庞大的angularjs 三.再也不想碰DOM 四.组件化?有没有后端的事? 五.再看自己一年前设计的微型渲染引擎 六.在浏览器标准上做文章 七.抛开浏览器,构建应用容器 八.为何Flash.银光和Java都在网页端一蹶不振 本文属 西风逍遥游 原创, 转载请注明出处: 西风世界 http://blog.csdn.net/xfxyy_sxfancy 三.再也不想碰DOM 我只能说,在复