zoukankan      html  css  js  c++  java
  • JS笔记

    Js笔记

    JavaScript 是脚本语言

    <script> 和 </script>   引入js。

    Js五种基本类型:数字,字符串,布尔,null,undefined;

    结构,表现,行为分离。

    变量命名规则:

    以字母或【下划线开始($)】不推荐,后面跟上数字,字母下划线。不允许使用空格和其他标点。

    驼峰命名法常见有两种格式:

    小驼峰式命名法(lower camel case:第一个单字以小写字母开始;第二个单字的首字母大写,例如:firstName、lastName。

    大驼峰式命名法(upper camel case:每一个单字的首字母都采用大写字母,例如:FirstName、LastName、CamelCase,也被称为Pascal命名法

    命名严格区分大小写

    不能使用关键字和保留字

    保留字就是预留的关键字。

    Alert (b);

    Var a = String.noteExists;

    Alert (a);

    全都为undefined;

    Null NaN 空字符串(’’) undefined 都为假(false)

    1+NaN=NaN null→0  true→1 false→0 undefined→NaN

    Typeof NaN →number

    强制转换

    parseInt()     转换成整型

    parseInt()方法首先查看位置0处的 字符,判断它是否是个有效数字;如果不是,该方法将返回NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置1处的字符,进行同样的 测试。这一过程将持续到发现非有效数字的字符为止,此时parseInt()将把该字符之前的字符串转换成数字。

    例子:

    如果要把字符串 "1234blue "转换成整数,那么parseInt()将返回1234,因为当它检测到字符b时,就会停止检测过程。

    字符串中包含的数字字面量会被正确转换为数字,因此 字符串 "0xA "会被正确转换为数字10。

    不过,字符串 "22.5 "将被转换成22,因为对于整数来说,小数点是无效字符。

    parseInt("1234blue")      1234

    parseInt("234",0)      234

    parseInt("0xA")      10

    parseInt("0123123")      123123

    parseInt(45,16)          69

    parseInt("true")         NaN

    parseInt(true)        NaN

    parseInt("    45    6   ab")    45

    parseFloat()   转换成浮点型

    parseFloat()方法与parseInt()方法的处理方式相似,从位置0开始查看每个字符,直到找到第一个非有效的字符为止,然后把该字 符之前的字符串转换成数字。不过,对于这个方法来说,第一个出现的小数点是有效字符。如果有两个小数点,第二个小数点将被看作无效的, parseFloat()方法会把这个小数点之前的字符串转换成数字。这意味着字符串 "22.34.5 "将被解析成22.34。

    例子:

    parseFloat("123.12.5")      123.12

    parseFloat("123")      123

    parseFloat("dfg")       NaN

      

    parseFloat("2e3a")      2000

    Boolean(value)——把给定的值转换成Boolean型;
    Number(value)——把给定的值转换成数字(可以是整数或浮点数);
    String(value)——把给定的值转换成字符串。

    字符串连接符

    document.write("hello"+china")     hello china

    document.write(1+"king")                1king

    赋值运算符

    var  username=“king“

    document.write("用户名为:"+username)     用户名为:king

    for循环

    基本格式:for(初始化变量;条件控制;增量){      循环语句     }

    执行顺序:1.初始化变量  2.判断是否符合条件  3符合执行循环语句  4增量自增或自减

    多层嵌套for循环   最外层循环一次  里层整套循环  以此类推

    跳出循环的两个命令

    break  :跳出循环

    contione :跳出本次循环

    switch...case语句         严格类型比较

      default:

      document.write('以上case都没有匹配到的时候执行的代码段');

      break;

      switch(i){

             case 1:

                document.write('a');

             case 2:

                document.write('b');

             default:

                document.write('e');

             case 3:

                document.write('c');

                break;

             case 4:

                document.write('d');

           }

    Js函数

    通过Function()构造函数

    函数严格区分大小写

    函数名称重复会产生覆盖

    函数通过return加返回值,如果没有return 默认返回undefined

    函数表达式可以存储在变量中,变量也可以作为一个函数使用

    函数可以有参数也可以没有参数,可以有一个参数也可以有多个参数

    alert(calc(1,3,4));       控制着对象的长度

    arguments.length;          传入参数的个数

    变量作用域

    var x=1;

    function test(){

    document.write('函数体内x的值为:'+x+'<br/>');          //undefined,x值取下面的,但是取不到值

    var x=19;

        document.write('函数体内对x重新赋值,此时x的值为:'+x+'<br/>');       //19

        }

        document.write('函数体外x的值为:'+x+'<br/>');              //1

        test();

        document.write('x的值为:'+x+'<br/>');           

    全局变量和局部变量的区别

    在函数外声明的变量都为全局变量,在函数内声明的为局部变量。

    内部也可以声明全局变量:
           demo:

    function  test(){

    y = 5;  //全局变量

    alert(y);

    }

    alert(y); //5

    声明提前:

    function  test1(){

    alert(y);  //undefined

    var y = 5;  //全局变量

    alert(y);  //5

    }

    回调函数:

    function say(x){

                         alert(x);

                  }

                  function execute(fun,y){

                         fun(y);

                  }

                  execute(say,'hi');

    return false+false; 0+0=0;

    比较最大的值

    function test1(){
    var paramsNum=arguments.length;
    var max=0;
    for(var i=0;i<=paramsNum-1;i++){
    if(arguments[i]>max){
    max=arguments[i];
    }
    }
    return max;
    }
    alert(test1(123,3432,23456,445643));

    Js对象

    创建对象的方式

    1. 通过对象字面量的形式创建对象

    2. 通过new Object()创建对象

    3. 通过构造函数的形式创建对象

    4. 通过Object.create()创建对象

    一.通过对象字面量的形式创建对象

       var obj={};          //没有任何属性的对象

    var obj1={x:1,y:2,z:3};

       也可以放多个对象  Javascript关键字必须放到引号之间    比如:'for'。

    二.通过new Object()创建对象

       var obj3=new Object();    //创建一个空对象,{}

      var arr=new Array();      //空数组,[]

      var date=new Date();      //日期时间对象

    三.通过构造函数的形式创建对象

       function Test(){

             }

           var obj4=new Test();

           function Test1(num1,num2){

              this.n1=num1;

             this.n2=num2;

           }

           var obj5=new Test1(5,6);

    alert(typeof obj5);

    四. 通过Object.create()创建对象

       var obj6=Object.create({x:1});

      var obj7=Object.create(null);

     

     

    对象的增删查改

    一. 查询

    1.字面量

    var person={

         username:'king',

         age:12,

         salary:1234.56,

         addr:'北京',

         sex:'男',

      };

    //查询属性,对象.属性名/对象["属性名"]

    (1)console.log('用户名'+person.username+" "+'性别:'+person.sex);

    (2)console.log('薪水:'+person['salary']+' '+'地址:'+person["addr"]);

    //如果属性不确定需要使用[]

    var key='username';

         //console.log(person[key]);

    2.构造函数

      function PersonInfo(name,age,sex){

           this.name=name;

           this.age=age;

           this.sex=sex;

         }

         var person1=new PersonInfo('king',34,'男');

         //console.log(person1.name+person['sex']);

    二. 添加

     var obj={};//空对象

         obj.username='king';

         obj.age=12;

         obj.addr='北京';

         obj['test']='this is a test';

    console.log(obj.username+' '+obj.age+' '+obj.addr+' '+obj['test']);

    三. 修改

    obj.username='queen';

    obj['test']='ymt';

    //console.log('修改之后的名字'+obj.username);

    //console.log(obj['test']);

    四. 通过delete删除指定属性

    delete obj['test'];

         //console.log(obj['test']);

      delete obj.username;

         //console.log(obj['username']);

  • 相关阅读:
    E: 未发现软件包 install_flash_player_11_linux.x86_64.tar.gz
    E: 无法获得锁 /var/lib/apt/lists/lock
    axis1.4与myeclipse开发webservice
    WSDLToJava Error: Rpc/encoded wsdls are not supported with CXF
    org.hibernate.MappingException
    JavaScript控制输入框只能输入非负正整数
    JavaScript控制输入框中只能输入中文、数字和英文
    java.lang.ClassCastException:java.math.BigDecimal cannot be cast to java.lang.String
    更改现有索引的表空间
    Ping 1000个包看丢跑率
  • 原文地址:https://www.cnblogs.com/ysyh/p/9543659.html
Copyright © 2011-2022 走看看