JS——杂知识点

来源:互联网 发布:淘宝店怎么开通客服 编辑:程序博客网 时间:2024/05/22 01:46

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富文本编辑器:http://www.cnblogs.com/ywqu/archive/2009/12/25/1631766.html

 

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

答:[[Configurable]]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特征,或者吧属性修改为访问器属性。
   [[Enumerable]]:表示能否通过for-in循环属性。 
   [[Writeable]]:表示能否修改属性的值。 
   [[Value]]:包含这个属性的数据值。

可参考Object.defineProperty()方法

Object.defineProperty(obj,'name',{

     Writeable:true,Value:"xiaoku"

});

 

0 0
原创粉丝点击