JavaScript 经典实例日常收集整理(常用经典)

前端之家收集整理的这篇文章主要介绍了JavaScript 经典实例日常收集整理(常用经典)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文是小编日常收集整理些js经典实例,特此分享到编程之家平台供大家参考!

跨浏览器添加事件

添加事件 function addEvent(obj,type,fn){ if(obj.addEventListener){ obj.addEventListener(type,fn,false); }else if(obj.attachEvent){//IE obj.attchEvent('on'+type,fn); } }

跨浏览器移除事件

跨浏览器阻止默认行为

跨浏览器获取目标对象

获取目标对象 function getTarget(ev){ if(ev.target){//w3c return ev.target; }else if(window.event.srcElement){//IE return window.event.srcElement; } }

跨浏览器获取滚动条位置

获取滚动条位置,sp == scroll position function getSP(){ return{ top: document.documentElement.scrollTop || document.body.scrollTop,left : document.documentElement.scrollLeft || document.body.scrollLeft; } }

跨浏览器获取可视窗口大小

获取可视窗口大小 function getWindow () { if(typeof window.innerWidth !='undefined') { return{ width : window.innerWidth,height : window.innerHeight } } else{ return { width : document.documentElement.clientWidth,height : document.documentElement.clientHeight } } },

js 对象冒充

function Person(name,age){ this.name = name ; this.age = age ; this.say = function (){ return "name : "+ this.name + " age: "+this.age ; } ; } var o = new Object() ;//可以简化为Object() Person.call(o,"zhangsan",20) ; console.log(o.say() );//name : zhangsan age: 20

js 异步加载和同步加载

异步加载也叫非阻塞模式加载,浏览器在下载js的同时,同时还会执行后续的页面处理。

在script标签内,用js创建一个script元素并插入到document中,这种就是异步加载js文件了:

同步加载

  平常默认用的都是同步加载。如:

  同步模式又称阻塞模式,会阻止流览器的后续处理。停止了后续的文件的解析,执行,如图像的渲染。浏览器之所以会采用同步模式,是因为加载的js文件中有对dom的操作,重定向输出document等默认行为,所以同步才是最安全的。

  通常会把要加载的js放到body结束标签之前,使得js可在页面最后加载,尽量减少阻塞页面的渲染。这样可以先让页面显示出来。

  同步加载流程是瀑布模型,异步加载流程是并发模型。

js获取屏幕坐标

<Meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/> <a href="https://www.jb51.cc/tag/huoqu/" target="_blank" class="keywords">获取</a>鼠标坐标

offsetTop 返回的是数字,而 style.top 返回的是字符串,除了数字外还带有单位:px。

js获取图片原始大小尺寸

") // Make in memory copy of image to avoid css issues .attr("src",$(img).attr("src")) .load(function() { pic_real_width = this.width; // Note: $(this).width() will not pic_real_height = this.height; // work for in memory images. });

js循环遍历数组

//循环遍历数组 var animals = ["cat",'dog','human','whale','seal']; var animalString = ""; for(var i = 0;i输出数组里的每个项

遍历二维数组

var arr=[[0,0],[0,1,2,3,0]]; for(var i=0;i"); }

阻止表单重复提交

有两种方法可以解决:一是提交之后,立刻禁用点击按钮;第二种就是提交之后取消后续的表单提交操作。 document.getElementById("btn").disabled = true;//第一次提交后,将按钮禁用

这种方式只能用于通过提交按钮防止重复提交,还可以使用如下方式:

退出事件 flag = true;//表示提交过一次了

字符串部分

在字符串中查找子字符串

Number和Math部分

数字可以是一个直接量,也可以是一个对象,但是Math对象不同,他没有构造函数,并且其所有的属性方法都是直接通过这个对象来访问的

把十进制转化为一个十六进制值

js中,十进制数字以0x开头,八进制数字总是以0开头

随进产生颜色

目前,所有浏览器都支持RGB表示法和十六进制表示法,除了IE7,它只支持十六进制表示法

在角度和弧度之间转换

var rad = degrees*(Math.PI/180);

var degrees = rad*(180/Math.PI);

数组部分

创建多维数组

添加项 multiArray[0][0] = 'phone'; multiArray[0][1] = 'book'; multiArray[0][2] = 'TV'; //第二个 multiArray[1][0] = 2; multiArray[1][1] = 1; multiArray[1][2] = 98; //第三个 multiArray[2][0] = ['java','python']; multiArray[2][1] = ['js','C++']; multiArray[2][2] = ['Haskell','PHP'];

排序数组

Array对象的sort方法会按照字母顺序来排序数组元素。对于数字,是按照字符编码的顺序进行排序

Date日期时间部分

js计算时间差

正则部分

js实现千分位分隔

js判断传入参数是否为质数

js判断字符串出现最多的字符,并统计次数

函数,来判断一个字符串出现次数最多的字符,并统计这个次数 function countStr(str){ var obj = {}; for(var i = 0,l = str.length,k; i < l ;i++){ k = str.charAt(i); if(obj[k]){ obj[k]++; }else{ obj[k] = 1; } } var m = 0,i=null; for(var k in obj){ if(obj[k] > m){ m = obj[k]; i = k; } } return i + ':' + m; }

以上内容是小编日常收集整理的JavaScript 经典实例,非常具有参考价值,感兴趣的朋友收藏起来吧。

原文链接:https://www.f2er.com/js/49495.html

猜你在找的JavaScript相关文章