JS基础知识二

来源:互联网 发布:电脑无线mac地址查询 编辑:程序博客网 时间:2024/06/03 09:34
<!DOCTYPE html><html>  <head>    <title>javascript01.html</title>    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="this is my page">    <meta http-equiv="content-type" content="text/html; charset=UTF-8">    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->    <script type="text/javascript">        //函数的定义第一种        function fn1(){            console.log('fn1');            return '101';    //返回值直接这样写        }        //第二种:意思是在堆中有个的方法,然后栈中的变量aa指向了这个方法,所以aa就为一个function.只要一个变量指向了一个function那么这个变量就是一个function        var aa = function(){            console.log('aa');            return 100;    //方法的返回值这样写        }        var yy = function(){            console.logg('yy'); //js为解释型的语言,执行一句解释一句,虽然这里log写错了但是这个方法没有被调用即这句话没有执行,所以就不会报错,如果调用了这个方法才会报错。但是java编译期间就会报错        }        function bb(arg){            return arg+100;        }        function cc(fun,args){            return fun(args);        }        function dd(fun){            return fun;        }        console.log(cc(bb,10));  //110        console.log(dd(fn1()));  //fn1    101        //此时aa就是一个function函数        aa();        console.log(aa());        //fn1指向堆中的函数,fn1是一个方法,现在bb=fn1表示bb变量也指向堆中fn1指向的同一个函数,所以bb也变为一个方法        var bb = fn1;        fn1();        bb();        console.log(fn1);        console.log(bb);  //bb指向了整个函数        console.log(typeof bb);        //这个是将函数fn1所执行的返回值传给cc变量,所以cc为101        var cc = fn1();        console.log(cc);        console.log(typeof cc);        function Person(name,age){  //这就相当于java中的类,使用this定义了3个属性,不用this不是类的变量            //定义了Person的属性为name            this.name = name;            //定义了Person的属性为age            this.age = age;            //定义了Person的属性为address            this.address = '成都高新';            //如果没有用this来申明,那么这个变量就仅仅只是一个局部变量,不是类的属性  所以下面p1.x是访问不到局部变量的,输出未定义undefined            var x = 10;            //所以想要定义函数可以这样,让say指向了一个匿名函数            this.say = function(){                console.log(this.name+','+this.age);            }        }        //创建对象,为p1的对象        var p1 = new Person('evy',12);        //获取对象的属性值可以通过p1.name或者通过对象['属性字符串']如p1['name']        console.log(p1.name+','+p1.address+','+p1.age+','+p1.x);        console.log(p1 instanceof Person);        p1.say();        var p2 = new Person('hurk',15);        console.log(p2['age']+','+p2['address']);        //注意        var a = 'age';   //为属性的字符串        console.log(p2[a]);  //只能这样加[]去获取属性的值        console.log(p2.a); //如果这样的话会去找p2中的属性为a的值,但是Person类中没有a这个属性        //在js中对于对象而言,可以通过for in来遍历对象的属性,如下aa是随便取得名字        for ( var aa in p2) {        //可以获取对象中显示声明的属性            console.log(aa);   //输出为name,age,address,say            //既然知道了属性名,就可以取到值            console.log(p2[aa]);          }    </script>  </head>  <body>    This is my HTML page. <br>aaaaaa  </body></html>
原创粉丝点击