zoukankan      html  css  js  c++  java
  • 1 javascript 核心语言笔记

     1 //所有的双斜线之后的内容都属于注释;
     2 //变量是表示值的一个符号名字;
     3 //变量是通过var 关键字声明的;
     4   var x;  //声明一个变量
     5 //值可以通过等号赋值给变量
     6 x = 0;   //现在的变量x的值为0
     7 x       //=> 0:通过变量获取其值
     8 //javascript 支持多种数据类型
     9 x = 1;               //  数字
    10 x = 0.01;           //  整数与实数共用一种数据类型
    11 x = "hello world"; //   由双引号内的文本构成的字符串
    12 x = 'javascript'; //    由单引号内的文本同样构成字符串
    13 x = true;        //     布尔值 真
    14 x = false;      //      布尔值 假  
    15 x = null;      //       null 是一个特殊的值  ”空“
    16 x = undefined;// undefined 和null 非常类似

    javascript中两个非常重要的数据类型是对象和数组

     1  //javascript中最重要的类型就是对象
     2  //对象是名/值对的集合,或字符串到值映射的集合
     3     var book = {
     4          topic: 'javascript',
     5          fat: true 
     6     };
     7   //通过“. ”或“[]”来访问对象属性
     8       book.topic                     // => javascript 
     9       book["fat"]                   // =>返回的是true 另外一种获取属性的方式
    10       book.author = "flanagan";    //通过赋值来创建一个属性
    11       book.contents = {};         //{} 是一个空对象没有属性
    12 
    13 
    14     //javascript同样支持数组 (以数字为索引的列表)
    15     var primes =[2,3,5,7];  //拥有4个值的数组,由“”["和"]“”划定边界
    16     primes[0];               //=>2:数组中的第一个元素(索引为0)
    17     primes.length;     //=> 4 :数组中的个数
    18     primes[primes.length-1]   //=> 7:数组的最后一个元素
    19     primes[4] = 9;                //通过赋值来添加新元素
    20     primes[4] = 11;              //通过赋值来改变已有的元素
    21     var empty = [];              // []空数组,它具有0个元素
    22     empty.length                 //=>0
    23 //数组和对象中都可以包含另一个数组或者对象:
    24     var points =[
    25       {x:0,y:0},     //具有两个元素的数组
    26       {x:1,y:1}     //每个元素都是一个对象
    27     ];  
    28 
    29      var data ={                    //一个包含两个属性的对象
    30         trial1: [[1,2],[3,4]],     //每一个属性都是数组
    31         trial2: [[2,3],[4,5]]      //数组的元素也是数组 
    32    };

    javascript中常见的表达式写法像下面代码这样使用运算符(operator):

     1 //运算符作用于操作数,生成一个新的值
     2 //最常见的算术运算符
     3 3 + 2                               // =>5 : 加法
     4 3 - 2                                // =>1 : j减法
     5 3*2                                // =>6 : 乘法
     6 3/2                                // => 1.5 : 除法 
     7 points[1].x - points[0].x    //  => 1 : 更复杂的操作数也能照常工作
     8 "3" + "2"                        // => "32": + 可以完成加法运算也可以作字符串连接 
     9 
    10 //javascript 定义了一些运算符的简写形式
    11 
    12 var count = 0;    //定义了一个变量
    13 count++;           //自增1
    14 count--;             //自减1
    15 count += 2;      //自增2: 和“count = count + 2;” 写法一样
    16 count *= 3;      //自乘3: 和“count = count *3;”写法一样  
    17 count               // =>6: 变量名本身也是一个表达式
     1     //相等关系运算符用来判断两值是否相等
     2    //不等 、大于、小于运算符的结果是true或false
     3     var x = 2, y = 3;              //这里的 = 等号是赋值的意思,不是比较相等
     4     x == y                        //=> false :相等
     5     x != y                       //=> true :不等 
     6     x < y                       //=>true :小于 
     7     x <= y                     //true :小于等于  
     8     x > y                     //=>false :大于 
     9     x >= y                   //=>false :大于等于 
    10     "two" == "three"        //=>false :两个字符串不相等
    11     "two" > "three"        //=>true :"tw"在字母表中的索引大于"th"
    12     false == (x > y)      //=>true :false和false 相等
    13 
    14     //逻辑运算符是对布尔值的合并或求反
    15     (x == 2) && (y == 3) //=> true :两个比较都是true, &&表示"与"
    16     (x > 3) || (y < 3)   //=> false :两个比较都不是true, ||表示"或"
    17     !(x == y)            //=> true : !求反   
    18 
    19 
    20     //函数是带有名称(named)和参数的javascript代码段,可以一次定义多次调用
    21 
    22     function plus1(x){     //定义了名为plus1的一个函数,带有参数的x
    23        return x +1        //返回一个比传入的参数大的值  
    24     }                    // 函数的代码块有花括号包裹起来的部分 
    25     plus1(y)             //=> 4 :y为3,调用函数的结果为3+1               
    26     var square = function(){  //函数是一种值,可以复制给变量
    27         return x*x           //计算函数的值
    28     };                      //分号标示了赋值语句的结束 
    29     square(plus1(y))     // => 16 :在一个表达式中的调用两个函数

     //当将函数和对象合写在一起时,函数就变成了“方法”(method):

     1 //当函数赋值给对象的属性,我们称为“方法”,所有的javascript对象都含有方法
     2     var  a =[];         //创建一个空数组
     3     a.push(1,2,3);      //push()方法向数组中添加元素 
     4     a.reverse();        //另一个方法 reverse() 将数组元素的次序反转 
     5  //我们也可以定义自己的方法 “this”关键字是对定义的方法的对象的引用
     6     points.dist=function(){     //定义一个方法用来计算两点之间的距离
     7         var p1=this[0];         //通过this 获得对当前数组的引用 
     8         var p2=this[1];         //并取得调用的数组前两个元素
     9         var a = p2.x-p1.x;      //x坐标轴上的距离
    10         var b = p2.y-o1.y;      //y坐标轴上的距离 
    11        return Math.sqrt(a*a + b*b)      //勾股定理 用Math.sqrt()来计算平方根   
    12     };
    13        points.dist();           //=> 1.44 求得两点之间的距离      
    14 
    15 // 这些javascript语句使用该语法包含条件判断和循环
    16      function abs(x) {               //球绝对值函数
    17          if(x>=0){                   //if语句
    18            return x;                 //如果为true则执行这里的代码
    19          }else{                      //if条件不满足时执行else语句      
    20            return -x;
    21          }
    22      }
    23 
    24     function factorial(n) {          //计算阶乘函数
    25        var product=1;                //product赋值为1
    26        while(n>1){                   //当n大于1时执行花括号语句
    27         product *=n;                 //product*=n 是 product= produtct*n的简写形式
    28         n--;                         //n--;是 n=n-1的简写形式
    29        }
    30        return product;               //返回product
    31     }
    32     factorial(4);                  //=>24: 1*4*3*2
    33        
    34        function factorial2(n) {       //实现循环的另一种函数写法    
    35            var i,product =1;           //product赋值为1
    36            for(i=2;i<n;i++){           //将i从2自增到n;
    37               product *=i;             //循环体,当循环只有一句话可以省略{};
    38               return product;
    39            }
    40        
    41        }
    42     factorial2(5);                     //=> 120 :  1*2*3*4*5;
    43 
    44    //javascript是一种面向对象的编程语言
    45      //定义一个构造函数以及初始化一个新的point对象
    46          function Point(x,y) {     //按照惯例,构造函数均已大写字母开始  
    47              this.x=x;             //关键字this指代初始化的实例      
    48              this.y=y;             //将函数参数储存为对象的属性
    49            
    50          }
    51 
    52          var p= new Point(1,1);          //使用new关键字和构造函数来创建一个实例
    53          Point.prototype.r =function() {     //通过给构造函数的prototype对象赋值来给point对象定义方法
    54               return Math.sqrt(
    55                 this.x*this.x+this.y*this.y;
    56                 )
    57          };
    58         // point实例对象p(以及所有的point实例对象)继承了方法 r()
    59            p.r();   //=>1.414... 
  • 相关阅读:
    HereDOC案例
    array_number
    CodeMirror---实现关键词高亮
    webstorage的使用
    vue.js--绑定方法到window对象
    docker部署服务实现文件上传到本地问题解决
    ES6之map与set
    JAVA生成视频缩略图的两种方式
    vuex状态管理
    ELK日志分析平台
  • 原文地址:https://www.cnblogs.com/deveil/p/5923021.html
Copyright © 2011-2022 走看看