js短代码

1.将arguments转化为数组
函数中的预定义变量arguments并非一个真正的数组,而是一个类似数组的对象。 
它具有length属性,但是没有slice, push, sort等函数,那么如何使arguments具有这些数组才有的函数呢? 
也就是说如何使arguments变成一个真正的数组呢?


function args(){

return [].slice.call(arguments)

}

var m=args(2,5,8) // [2, 5, 8]

m.push(10)//可以使用数组方法

console.log(m)// [2, 5, 8,10]

2.


function add() {

if(!arguments.callee.count) { //当前运行的函数的count属性。若为false,则设置为0

arguments.callee.count = 0;

}

return arguments.callee.count++;

}

add();   // 0

add();   // 1

add();   // 2  // arguments.callee指向当前正在运行的函数。 一般用于匿名函数中

3数组中的最大值

var arr = [2, 3, 45, 12, 8];

Math.max.apply(null, arr);// 45

4.修改arguments

function add() {

Array.prototype.push.call(arguments, 123);

//因为arguments不是数组,是类数组,故需要调用数组方法

return arguments;

}

add(100); // [100,123]

/***1-4   数组操作**/

5.判断一个变量是否为undefined

typeof(name2) === ‘undefined’;// true

6.私有变量

var person =(function() {

var _name=‘1000‘;

return {

getName:function() {   return _name || ‘2000‘;   }

}

})();

person.getName(); // "1000"

typeof(person._name); // "undefined"

7.JavaScript没有块级上下文(Scope).即函数才是作用域

for(var i = 0; i < 2; i ++) { }

i;  // 2

8.If 中的假:null, undefined, NaN, 0, ‘’, false

9.0.1+0.2 != 0.3
 JavaScript将小数作为浮点数对待,所以可能会产生一些四舍五入的错误,比如:

0.1 + 0.2; // 0.30000000000000004

你可以通过toFixed方法指定四舍五入的小数位数:

(0.1 + 0.2).toFixed(); // "0"

(0.1 + 0.2).toFixed(1); // "0.3"

  1. encodeURI和encodeURIComponent

window.encodeURI函数用来编码一个URL,但是不对这些编码:“:”, “/”, “;”, “?”. 
window.encodeURIComponent则会对上述字符进行编码。
我们通过一个例子来说明:

‘index.jsp?page=‘+encodeURI(‘/page/home.jsp‘);  // "index.jsp?page=/page/home.jsp"

‘index.jsp?page=‘+encodeURIComponent(‘/page/home.jsp‘);  // "index.jsp?page=%2Fpage%2Fhome.jsp"

因此,在对URL进行编码时我们经常会选择 encodeURIComponent。

11.table.innerHTML在IE的table下是只读属性

<table id="table1"> </table>

// works well in Firefox, but fail to work in IE

document.getElementById(‘table1‘).innerHTML = "<tr><td>Hello</td><td>World!</td></tr>";

应该:

document.getElementById(‘table1‘).innerHTML = "<table><tr><td>Hello</td><td>World!</td></tr></table>";

12.Boolean 和 new Boolean

我们可以把Boolean看做是一个函数,用来产生Boolean类型的值(Literal):

Boolean(false) === false; // true

Boolean(‘‘) === false; // true

所以,Boolean(0)和!!0是等价的。 
我们也可以把Boolean看做是一个构造函数,通过new来创建一个Boolean类型的对象:

new Boolean(false) === false; // false

new Boolean(false) == false; // true

typeof(new Boolean(false)); // "object"

typeof(Boolean(false)); // "boolean"

13.一元操作符 +在JavaScript中,我们可以在字符串之前使用一元操作符“+”。这将会把字符串转化为数字,如果转化失败则返回NaN。【原理未知】

2 + ‘1‘; // "21"

2 + ( +‘1‘); // 3

如果把 + 用在非字符串的前面,将按照如下顺序进行尝试转化:

1 调用valueOf()

2 调用toString()

3 转化为数字

+new Date; // 1242616452016

+new Date === new Date().getTime(); // true

+new Date() === Number(new Date) // true

时间: 2024-07-29 04:52:08

js短代码的相关文章

WordPress Shortcode(短代码):完全指南

WordPress短代码的使用非常简单.比如说我们想显示给定的最新文章,我们可以使用类似下面的代码: 1 [ recent - posts ] 再进一步的,我们可以通过设定一个参数来控制现实的文章的数量: 1 [ recent - posts posts = "5" ] 更进一步的,我们可以为文章列表增加一个标题: 1 [ recent - posts posts = "5" ] Posts Heading [ / recent - posts ] 1. 简单的短代

仿jQuery的siblings效果的js原生代码

仿jQuery的siblings效果的js原生代码 <previousSibling> 属性返回选定节点的上一个同级节点(在相同树层级中的前一个节点). <nextSibling> 属性返回被选节点的下一个同级节点(在相同树层级中的下一个节点). 如果不存在这样的节点,则该属性返回 null.//元素节点的节点类型是 1  obj.previousSibling.nodeType ==1; reverse() 方法用于颠倒数组中元素的顺序. push() 方法可向数组的末尾添加一个

兼容IE与Firefox的js 复制代码

<script type="text/javascript"> function copyCode(id){     var testCode=document.getElementById(id).value;     if(copy2Clipboard(testCode)!=false){         alert("生成的代码已经复制到粘贴板,你可以使用Ctrl+V 贴到需要的地方去了哦! ");     } } copy2Clipboard=f

一行js弹窗代码就能设计漂亮的弹窗广告

接到一个设计需求,要求xmyanke在网站右侧挂一个弹窗广告宣传最近的活动,找了半天都没看到合适的,自己鼓捣了一行js弹窗代码就能设计漂亮的弹窗广告,来瞧一下,欢迎拍砖提意见,js弹窗广告代码如下: document.writeln("<div id=\"leftDiv1\" ><a href='http://www.xiameneye.org.cn/special/zhengji/' target=_blank><img src='/templ

60秒验证码倒计时js代码 js样式代码 方块上下左右随机移动(定时器) js中获取元素的方法 js中表单提交

60秒验证码倒计时js代码 <script type="text/javascript"> var countdown=60; function settime(val) { if (countdown == 0) { //removeAttribute() 方法删除指定的属性. disabled属性规定应该禁用 input 元素. val.removeAttribute("disabled"); val.value="免费获取验证码"

js/javascript代码注释规范与示例

注释在代码编写过程中的重要性,写代码超过半年的就能深深的体会到.没有注释的代码都不是好代码.为了别人学习,同时为了自己以后对代码进行‘升级’,看看js/javascript代码注释规范与示例.来自:http://www.56.com/style/-doc-/v1/tpl/js_dev_spec/spec-comment.html 文件注释 文件注释位于文件的最前面,应包括文件的以下信息:概要说明及版本(必须)项目地址(开源组件必须)版权声明(必须)开源协议(开源组件必须)版本号(必须)修改时间(

javascript--函数的声明及调用/JS中代码执行顺序

[函数的声明及调用] 1.函数声明格式: function 函数名(参数1,参数2,参数3--){ //函数体 return 结果: } 函数调用的格式: 函数名(参数1的值,参数2的值,--): 事件调用:事件名=函数名(): 2.函数声明的几点强调: ① 函数的声明,必须符合小驼峰法则(首字母小写,之后每个单词首字母大写): ② 参数的列表,可以有参数,可以无参数.分别称为有参函数,无参函数: ③ 声明函数时的参数列表,称为"形参列表"(变量的名): 调用函数时的参数列表,称为&q

C#和网页js互调代码

C#和网页js互调代码 1.先写个网页放在主程序目录下:test.html <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title>测试网页</title> <script> function MyFun

js收藏代码

js收藏代码~ 1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu=return(false)><td>no</table> 可用于Table 2. <body onselectstart="return false"> 取消选取.防止复制 3. onpaste="return fals