您的位置:首页 > Web前端 > JavaScript

JS——杂知识点

2013-12-24 15:09 357 查看
18、5个能够有效帮助你快速创建超棒CSS3动画效果的类库 http://www.gbin1.com/technology/css/20121128-css3-animation-libraries/

17、jquery滑动效果有animate(自定义动画)、fadeToggle(滑动)、slideToggle(淡入淡出)等等

对于slideToggle,假如要让一个div缩小扩大,那么他默认是向上缩,向下伸。如果要让这个div向下缩,向上伸呢?

解决办法有2种:

1、可以使用另一个div包住这个div,背景颜色设置为白色,被包住的不动,白色div的滑动即可实现相反方向滑动。(遮罩效果)

2、使用另一个div包住要滑动的div,设置外层div样式:overflow:hidden,内层使用animate进行自定义滑动,改变其css的margin-top,如由原来的0变为500px;这样也可以缩下来,伸上去。

16、document.selection对象的介绍: http://ablya.iteye.com/blog/470623
15、鼠标选中文本事件:

<script type="text/javascript">

document.onmouseup = document.ondbclick= function(){

var txt;

if(document.selection){

txt = document.selection.createRange().text

}else{

txt = window.getSelection()+'';

}

if(txt){show(txt)}

}

function show(txt){

alert(txt)

}

</script>

14、object的toSource方法,返回源码的字符串。该方法在 Internet Explorer 中无效。

13、数组操作:

新增有2种方法,push追加元素到后面,unshift追加元素在前面。

删除有2种方法:pop删除最后一个元素,shift删除第一个元素

数组连接:concat即可连接元素,也可以连接数组。该方法不修改原来数组,而是产生副本

排序:sort默认安装字母排序,从小到大排

翻转:reverse,元素顺序颠倒

截取元素:slice

删除元素并添加元素:splice

参考:http://www.w3school.com.cn/js/jsref_obj_array.asp

12、arguments对象冒充实现array的方法。如数组的方法slice

Array.prototype.slice(arguments,arg1,arg2);

11、关于js 函数同名不同参数。

定义了2个同名函数,一个带参数,一个不带参数。带参数将覆盖

function t1(){

return 1;

}

function t1(arg1){

return arg1;

}

alert(t1());

alert(t1(2));

alert(t1(3,4));

以上代码执行返回分别是:undefined、2、3

若将无参函数和有参函数位置对调一下,执行的结果则全部为1.

总结:同名函数,后面定义的覆盖前面。实参>=形参 当然也可以实参<形参,只要形参不需要用到即可,否则返回undefined

10、传递给函数的隐含参数:arguments arguments不是数组,但类似数组,也有下标,也有length属性,也可以通过下标获取参数值。arguments还有个属性callee(被调用函数本身)

9、将函数作为参数传递。一般都是传函数名作为参数,如:

var test = function (funName){

funName();

};

test(myFunc);

function myFunc(){

alert("dome!");

}

8、typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能:"number," "string," "boolean," "object," "function," 和 "undefined." 【没有array】

7、Function.prototype递归:Function.prototype.test=function(){} //给Function方法添加原型方法test。也就是每一个方法都有一个原型方法test(包括test本身)

故:可以这样调用:function a(){};
a.test.test(); //a本身就是function,通过原型链找到test方法,test也是function,也通过原型找到test,并执行它

6、定义函数时分有名函数、无名函数。如:有名:function name(){} 、 无名: var name = function(){}

无名函数赋值给变量。对于有名函数,它可以出现在调用之后再定义;而对于无名函数,它必须是在调用之前就已经定义。

<script language="JavaScript" type="text/javascript">

<!--

func();

var func=function(){ //无名函数

alert(1)

}

//-->

</script>

  这段语句将产生func未定义的错误,而:

以下是引用片段:

<script language="JavaScript" type="text/javascript">

<!--

func();

function func(){

alert(1)

}

//-->

</script>

  则能够正确执行,下面的语句也能正确执行:

<script language="JavaScript" type="text/javascript">

<!--

func();

var someFunc=function func(){

alert(1)

}

//-->

</script>

5、JS格式化。网上有很多在线js格式化工具。可以对JS进行加密压缩。如:http://tool.chinaz.com/Tools/JsFormat.aspx

http://app.baidu.com/app/enter?appid=307884

http://js.clicki.cn/ (推荐 ,支持解压)

4、JS splice方法 http://www.w3school.com.cn/js/jsref_splice.asp
arr.splice有3-n个参数,arg1:数组下标 arg2:要删除的个数 arg3-n:添加的新元素 返回原来数组

3、计算js执行时间,var d = new Date();.......//这里要执行的代码 d = new Date() - d; 得到的d即为代码执行的毫秒数

2、10款JS富文本编辑器:/article/4754227.html

1、系统对象的每个属性都有四个固有的属性,是哪四个?(这道题表明的是属性的属性,也就是prototype的属性)

答:[[Configurable]]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特征,或者吧属性修改为访问器属性。

[[Enumerable]]:表示能否通过for-in循环属性。

[[Writeable]]:表示能否修改属性的值。

[[Value]]:包含这个属性的数据值。

可参考Object.defineProperty()方法

Object.defineProperty(obj,'name',{

Writeable:true,Value:"xiaoku"

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: