zoukankan      html  css  js  c++  java
  • Javascript s03

    1.函数

             函数也是一个对象.

             alert(func instanceof Object);

             注意点:

             (1)形参不能带有默认值

             (2)函数可以嵌套函数

            

    2.常用的调用方式

                       作为函数调用 test();

                       作为方法调用 this.test();

                       作为构造方法 new Object(); Object其实是一个函数

                       作为命名空间 (function(){ alert('tttt') })();

                                                   避免使用全局变量,防止变量污染的问题

                                                  

                       在原型上添加了属性,就算之前实例话的对象,也自动拥有

    3.对象的constructor属性

             可以查看到该对象是由那个对象构造的

            

    4.如何在js中,定义对象

             /*

                       class Student{ 

                                var name;

                                var age;

                                function Student(){

                                         //var name='无名氏';//局部变量,不是属性

                                         this.name="无名氏";

                                         this.age=18;   

                                         alert('ddddd');

                                        

                                         //this.run();

                                         //this.run=function(){}//等同于将下面的run()方法,重写了

                                }

                                function run(){}

                       }

                       */

                      

                       function Student(){

                                //var name='无名氏';//局部变量,不是属性

                                this.name="无名氏";//定义属性

                                this.age=18;

                               

                                //alert('ddddd'); //当new时,会执行构造函数,这句代码在构造函数中,会被执行

                               

                                this.say=function(){

                                         document.write("大家好呀,我是" + this.name + "<br>");

                                }

                       }

                               

                       var stu1=new Student();

                       document.write(stu1.name);

                       document.write(stu1.age);

                       stu1.say();

                      

    5.给函数定义属性

             function test(){

                                return  ++test.i;

                       }

                      

                       test.i=0;           

                       document.write(test());

                       document.write(test());

                       document.write(test());          

                       document.write(test());

                      

            

    6.arguments.callee 只当前正在执行的函数

    7.sum.length是函数定义了多少个形参?

    arguments.length 与 函数名.length的区别?

             arguments.length:只能在函数的内部使用,表示函数在调用的那一刻,实际传递了多少个参数

             函数名.length,可以在外部使用(内部一样),表示定义了多少个形参

             实参arguments.length有可能大于形参(函数名.length)

            

    在PHP中         ,func_num_args(),func_get_args();

    function(a,b)  如果多传的形参,则没用,这就是为什么有效形参要放前面

            

    8.prototype      原型

             function Student(){

                       Student.prototype.age=18;

                       Student.prototype.email="a@a.com";

             }

            

             var obj=new Student();

             document.write(obj.email);

             //每一个函数,都有一个原型对象prototype,属于函数的

             //有什么用?

             //当在使用new通过函数创建对象时,对象就继承自这个prototype

             //可以使用this,在函数(构造方法)中,调用这个对象的属性

             //如果这个对象,没有该属性,则去原型对象prototype中寻找

            

            

    9.常用对象的属性和方法

                         a.数组Array

                                length

                                join() toString 跟PHP(implode)

                                sort()排序

                                reverse() 反转

                                concat()

                                splice()

                                push()   pop()

                                shift()        unshift();

                               

                               

                               

                         b.字符串Stirng

                                length       中文占几个? 1个

                                在PHP中 UTF-8 strlen($str) 3个

                                                   ANSI                       2个

                                                  gbk                                  2个

                                                  

                                str.toLowerCase()

                                str.toUpperCase()

                                str.charAt(index)      //"lamp".charAt(1).toUpeerCase();  a

                                str.indexOf()    

                                         var email="aaa@dd.com";

                                         alert(email.indexOf("@"));      //3

                                str.substring    //substr

                                         alert(email.substring(4,7));     //只取到3

                                         js的substring与JAVA一样,第二个参数是索引

                                         php,与C#一样,第二个参数是长度

                               

                          d.数学Math

                          PI

                          Math.random()

                          Math.abs()

                          Math.ceil()

                                         floor()

                                         round()

                                         max()

                                         min()

                                         pow()

                                        

                          e.正则对象       

                         

                          1. / 正则表达式RegExp  /gim

                          2. new RegExp("正则表达式","模式修正符")

                                调用字符串的方法,把正则放进去

                                   g   global 全局

                                   i   ignoreCage 不区分大小写

                                   m   mutiline 多行模式

            

                                方法:

                                         正则.test("要测试的字符串");

                                         str.match(正则对象);

                                         str.replace(正则对象,用于替换的新内容);

                                                   "lamp".replace(/am/,"AM");  //lAMp

                                                  

                                         str.search(正则)     

                                                  

                                                  

                                f.日期date

                                         对象是new出来的

                                         var now=new Date;

                                                   两个方法setXxx()   getXxx()

                                                  

                                                   getFullYear();   //只能用这个了

                                                   getMonth()      //特殊0-11 从0开始 要+1

                                                   ...

                                                   getDay()  0-6星期

                                                   getTime() //从1970年开始 的毫秒 与PHP不一样

                                                  

                                                  

                                                   new Date(1999,2,12,15,44,09)

                                                  

            

  • 相关阅读:
    关于通过web页面删除数据记录的设计改进
    python 正则表达式用法
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
  • 原文地址:https://www.cnblogs.com/wicub/p/3112052.html
Copyright © 2011-2022 走看看