js笔记1

1 js大小写不敏感,php的大小写敏感(类名和函数名除外)
2 php的数据类型:(8种)

int float, string ,boolean, array, objiect ,null ,resourse

js的数字类型(6种)

number(int float) ,string ,boolean ,null ,undefined ,objiect

3 浏览器输出的方式:console.log();

4 判断类型:typeof(Object)

5 number数值类型
进制:8进制:0+数字;16进制:ox14;
6 比较运算符:
==:比较大小,不比较类型
===:比较大小和类型
js中:&&和||运算的结果是影响较大的操作数
7 函数封装

 <script type="text/javascript">
        //函数封装
        //① 传统方式封装
        //   该方式封装的函数允许“先调用、后声明”,该过程称为函数的“预加载”
        //   预加载:程序代码没有执行之前,函数的声明先进入“内存”
        //           表明是函数调用在前、声明在后,本质是函数声明在前、调用在后
        //           预加载条件是:“声明、调用”必须在同一个script标记里边
        //                          原因是每个script标记独立加载、解释、运行
        getInfo();//B
        function getInfo(){  //A
            console.log('beijing');
        }

        //javascript里边一切都是对象
        //函数也是对象(数据类型一种)
        var name = "tom";
        //② 变量赋值方式声明函数(该方式函数没有预加载)
        var getWeather = function(){
            console.log('晴朗');
        }
        getWeather();//晴朗
    </script>

8 参数的传递

    <script type="text/javascript">
        //arguments关键字 在函数内部可以接收传递进来的实参信息
        //                可以通过数字下标形式,访问各个实参信息
        //                其有length属性,可以获得实参个数
        function getInfo(){
            //根据传递参数的个数做灵活处理
            if(num>=1)
            {
                console.log('个人信息');
                console.log('名子'+arguments[0]);
            }
            if(num>=2)
            {
                console.log('年龄'+arguments[1]);
            }
        }
        //同一个函数调用的时候,由于传递不同个数的实参,最终导致的结果也不一样
        //其是模仿方法重载(定义了许多名称一致的方法,这些方法的参数个数(或参数类型)不一样,这些方法就构成重载)
        //在php和js里边没有"重载"
        getInfo();
        getInfo('jim');
        getInfo('tom',23);
        </script>

9 递归的时候使用arguments.callee,降低函数之间的耦合度

 <script type="text/javascript">
     function jiecheng(n)
        {
                if(n==1)
                    return 1;
                return n*arguments.callee(n-1);
        }
        //通过一个简便的jc就调用阶乘函数
        var jc = jiecheng;//函数(对象)赋值,是引用传递
        //销毁jiecheng的名称,后边全部使用jc名称
        jiecheng = null;//"" null;0
        console.log(jc(4));
    </script>

10 数组声明

     <script type="text/javascript">
        //三种方式声明数组
        //① var arr = [元素,元素,元素]
        var color = ['pink','gold','orange','yellow'];
        color[1] = "blue";
        console.log(color);
        //通过下标访问数组元素内容:数组[下标]
        console.log(color[2]); //orange

        //② var arr = new Array(元素,元素,元素);
        var animal = new Array('dog','pic','cat');
        console.log(animal);//["dog", "pic", "cat"]

        //③ var arr = new Array();先声明好数组,后期再添加元素
        var city = new Array();
        //给数组添加元素:数组[下标] = 值;
        city[0] = "beijing";
        city[1] = "shanghai";
        city['liaoning'] = "shenyang"; //给city对象声明一个"成员属性"
        city[2] = "chongqing";
        city['henan'] = "zhengzhou"; //给city对象声明一个"成员属性"
        console.log(city);//["beijing", "shanghai", "chongqing"]

        //对象访问成员(两种方式):对象.成员名称   对象[成员名称]
        console.log(city.liaoning);//shenyang
        console.log(city[1]);//shanghai
        console.log(city['henan']);//zhengzhou
    </script>

11 遍历数组

<script type="text/javascript">
        //① for循环遍历
        //   为了遍历效果最佳,数组下标最好是0/1/2/3....规则连续的
        for(var i=0; i<animal.length; i++){
            console.log(i+"----"+animal[i]);
        }

        //② for-in遍历,同时可以遍历"数组""对象",并且下标有跳跃也没有关系
        //for(var 下标变量 in  数组/对象)
        for(var k in animal){
            console.log(k+"---"+animal[k]);
        }

</script>

12 对数组的常用操作

<script type="text/javascript">
        //遍历数组
        var animal = new Array('dog','pic','cat','duck');

        //push()/pop()  在数组元素的尾部追加、删除元素
        animal.push("tiger","wolf","tiger","pic");
        //animal.pop();
        //animal.pop();
        //animal.pop();
        console.log(animal);
        //unshift()/shift() 在数组元素的头部追加、删除元素
        //indexOf()  判断一个元素在数组中“左边”第一次出现的位置
        console.log(animal.indexOf('pic'));//1
        console.log(animal.indexOf('hello'));//-1
        //lastIndexOf() 判断一个元素在数组中“右边”第一次出现的位置
        console.log(animal.lastIndexOf('pic'));//7
        //indexOf()或lastIndexOf()可以判断数组是否出现指定的元素
</script>

13 字符串

 <script type="text/javascript">
        var title = "study php";
        //字符串可以调用成员属性 或 方法
        console.log(title.length);//9
        console.log(title.substr(0,5));//study
        //字符串为什么可以调用成员(惯例是对象才可以调用成员)
        //答:表面是字符串调用成员,在浏览器javascript解释引擎内部要做具体处理
        //    引擎根据字符串生成一个“临时对象”,是临时对象调用的成员并返回结果
        //    之后该临时对象就被销毁了
        //字符串就是对象 var name = new String(内容);

        console.log(typeof title);//string
 </script>

14 eval的使用

 <script type="text/javascript">
        var a = 10;
        var b = 15;
        //把字符串当做表达式运行起来
        console.log(eval("a+b"));  //【25】

        //console.log(alert(123)); //看到弹出框、输出undefined
        //
        console.log("alert(456)"); //没有弹出框、输出alert(456)
        console.log(eval("alert(789)")); //看到弹出框、输出undefined </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值