js 使用技巧 - [近几年工作中的经验总结的技巧]

1、如果 ajax 返回单一的 json 格式,接收方需要这样再格式化一下赋值: var str = eval("(" + msg + ")");

开发引用: /// <reference path="http://x.autoimg.cn/as/static/js/jquery-1.7.2.min.js" />

2、如果 ajax 同发出两个以上的请求时,返回的状态会串,不能用异步,用同步可以解决问题;

3、navigator.plugins["Shockwave Flash"]   检查 当前机器 flash 版本

4、删除前后空格  String.prototype.trim = function () { return this.replace(/(^[ | ]*)|([ | ]*$)/g, ""); }

5、IE6 下 JS 在执行一个方法后,当前方法内的代码执行完后,此次的单线程就会停止,当前的方法里还有其它的方法也不会再执行;如果要执行的话,需要加 setTimeout(); 事件再执行;

6、把 document.getElementById(id) 转换成 $("id")

function $(id) { return typeof (id) == ‘string‘ ? document.getElementById(id) : id }

7、图片加载失败,并防止死循环   onerror="this.src=aaa.jpg;this.onerror=null;"

8、document.getElementsByTagName(‘*‘).length  查看页面有多少个 Dom 元素;

9、parseInt()  只会返回整数部分;一个完整的parseInt应该是这样的:parseInt(string, radix),其中radix指定数字的进制(十进制,二进制,十六进制etc.)   parseInt("f",16): 15

把加号放在包含合法数字的字符串前面会将字符串转化为数字;

Null 用成数字时会表现为0,做布尔时表现为false.

声明一个变量但没有赋值,此时这个变量的值为undefined. Undefined用作数字时类型表现为NaN, 用作布尔时表现为false.

10、各种正则验证规则 数字验证规则:

"^\\d+$"  //非负整数(正整数 + 0)

"^[0-9]*[1-9][0-9]*$"  //正整数

"^((-\\d+)|(0+))$"  //非正整数(负整数 + 0)

"^-[0-9]*[1-9][0-9]*$"  //负整数

"^-?\\d+$"    //整数

"^\\d+("  //非负浮点数(正浮点数 + 0)

"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数

"^((-\\d+("  //非正浮点数(负浮点数 + 0)

"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数

"^(-?\\d+)("  //浮点数

var r = /^\+?[1-9][0-9]*$/;  //正整数

r.test(str);

11、按照 json 的属性值排序

var cc=[

{ name: "a", age: 30},

{ name: "c", age: 24},

{ name: "b", age: 28},

{ name: "e", age: 18},

{ name: "d", age: 38}

].sort(function(obj1, obj2) {

return obj1.age - obj2.age;

});

for(var i=0;i<cc.length;i++){

alert(cc[i][‘age‘]);  //依次显示 18,24,28,30,38

}

12、合并数组:

var mergeTo = [4,5,6];

var mergeFrom = [7,8,9];

Array.prototype.push.apply(mergeTo, mergeFrom);

mergeTo; // is: [4, 5, 6, 7, 8, 9]

13、多点击事件获取点击的是哪个

$(‘#IndexLink,#IndexLink1‘).on(‘click‘, function (e) {

var id=e.target.id;

id 取到的就是被点击的ID值

}

14、zepto 里面或者 jquery 里返回 ajax json 串时,如果你的 json 串不规范(里面的键名,值,必须是双引号),就会跳出 success 方法,而且不执行里面的所有语句;

15、再JavaScript中下面做法会声明全局变量

在function外使用声明变量(无论是否使用var) ;

在function内不是用var 声明变量 ;

直接赋值于window属性;

16、锚点定位方法

window.location.hash = ‘m001‘;

<a name="m001">&nbsp;</a>

17、window.history.forward(1);   阻止页面后退;

18、 JS call 与aplly 用法

function Person(name, age) {

this.name = name;

this.age = age;

};

function Student(name, age, grade) {

Person.apply(this, arguments);

this.grade = grade;

};

var student = new Student(‘qian‘, 21, ‘一年级‘);

alert(‘name:‘ + student.name + ‘\n‘ + ‘age:‘ + student.age + ‘\n‘ + ‘grade:‘ + student.grade);

//也就是通俗一点讲就是:用student去执行Person这个类里面的内容,在Person这个类里面存在this.name等之类的语句,

//这样就将属性创建到了student对象里面

18)页面到底部自动加载内容:

var divH = document.body.scrollHeight,top = document.body.scrollTop,windowH = window.screen.availHeight;

if ((top + windowH) >divH) {

console.log(‘该他妈的加载内容了。‘);

}

console.log(‘网页正文全文高:‘ + document.body.scrollHeight + ‘ 网页被卷去的高: ‘ + document.body.scrollTop + ‘ 屏幕可用工作区高度:‘ + window.screen.availHeight);

时间: 2024-10-07 09:50:49

js 使用技巧 - [近几年工作中的经验总结的技巧]的相关文章

工作中一些经验

企业网站策划拙见: 1.用户进入网站的时候,要凸显出我们企业经营的重点,思考用户进来最想要看到什么,或者我们需要让访客第一眼看到什么. 2.做了百度推广.流量监控的企业,一定要经常观察访客经常访问什么内容页面:访问什内容页面的访客最多,停留时间较长.这样我们就能知道访客最关心我们产品的哪个环节,例如 介绍页面.价格页面.服务页面.案例页面等.这样我们就可以在访客关心的页面上花更多心思,从而留住访客. 3.要学会引导访客浏览网站内容.当访客访问内容页面后,一般都是从上往下浏览.此时页面内容一定要连

工作中总结的编程小技巧

技巧一:int-->bool要注意的!bool a=255; bool b= 254; 理论上应该认为a==b,但是根据编译器的不同,结果可能完全不一样 所以更好的写法是 char ch =1; 或者0bool a = (0 != atoi(ch)); 技巧二:将std::string转int,double先利用c_str()转成C string,再用atoi()与atof() 技巧三:const_cast操作符可以强置去除const指针的const属性 技巧四:CString读取文本的每一行C

日常工作中常见的mysql优化技巧

1.介绍一下MYSQL经常使用的优化技巧. MySQL 自带 slow log 的分析工具 mysqldumpslow ,可是没有说明.本文通过分析该脚本,介绍了其用法. slow log 是 MySQL 依据 SQL 语句的运行时间设定,写入的一个文件,用于分析运行较慢的语句. 仅仅要在 my.cnf 文件里配置好: log-slow-queries = [slow_query_log_filename] 就可以记录超过默认的 10s 运行时间的 SQL 语句. 假设要改动默认设置,能够加入:

给大家分享12个或许能在实际工作中帮助你解决一些问题的JavaScript的小技巧

使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值.为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单.对于变量可以使用!!variable做检测,只要变量的值为:0.null." ".undefined或者NaN都将返回的是false,反之返回的是true.比如下面的示例: 01 function Account(cash) { 02 this.cash = cash; 03 this.hasMoney

工作中比较实用的js验证和数据处理的干货

在开发web项目的时候,难免遇到各种对网页数据的处理,比如对用户在表单中输入的电话号码.邮箱.金额.身份证号.密码长度和复杂程度等等的验证,以及对后台返回 数据的格式化比如金额,返回的值为null,还有对指定日期之前或之后某一天或某一月的计算. 遇到需要对数据及表单验证的,我相信大家都像我一样,喜欢在网上找相关的方法,因为自己写的话,是比较耗时的.今天就给大家分享一下,自己在工作中总结的一些常用 的js. /** * 验证密码复杂度(必须包含数字字母) * @param str * @retur

原生js(form)验证,可以借鉴下思路,应用到工作中

我在工作中时常使用form验证,在目前的公司做的表单验证用的angular的form组件,对于一个有追求的前端,或者应用在移动端写个form验证,引入angular或者jquery组件等验证,难免显得臃肿,最好是原生js吧,轻量.幸运 的等到这一课,加上之前所学,慢慢融合根据需求,应用到工作项目中... <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR

记录下工作中使用的pdf.js

在工作中遇到一个通过网页的形式浏览pdf文件以及图片的需求,图片简单,直接通过网页的形式打开这个图片的URL即可.而pdf这边,通过查询发现有一个名为pdf.js的神器. 简单介绍下,它可以在html中直接浏览pdf文件,pdf的每一页数据,通过H5的canvas进行解析,以及显示.其中还可以操作页数.滚动.打印.下载等功能.git上的地址为:http://mozilla.github.io/pdf.js/ 网上的文档资料很多,就不记录了,直接留存通用代码. <!DOCTYPE html> &

工作中遇到的js错误(随时补充)

自己在工作中,写js的时候经常遇到一些不符合预期的错误,特此记录下来: 1.火狐和谷歌关于keycode事件的兼容:写了一段js控制输入框只能输入数字,但是发现在谷歌浏览器就可以使用,但是放到火狐里面就是不能输入数字. $(".money").live("keypress", function (event) { var e = event ? event :(window.event ? window.event : null); var keyCode=e.ke

工作中,掌握这三个技巧,让你成为一个可靠的人

对于每一个人来说,既然选择一份工作,就像把它做好,不管在奋斗的过程中,遇到多大的困难,都会义无反顾的勇往直前.因为只有这样做,才能够让我们变得越来越坚强.所以在我们的日常办公中多写一点知识对我们今后的发展是很重要的,下面是分享的几个小技巧,一起看看吧! 1.不管做什么事情,都会留心眼 在现如今社会中,光看一个人的表面,并不能够判断出这个人究竟是好是坏.所以当我们进入工作中的时候,无论做什么事情,都要学会留心眼.哪怕那个人是你的好朋友,你都不能够掉以轻心.当你凡事都学会留心眼的时候,你就能够从中获