zoukankan      html  css  js  c++  java
  • js心得

    数据类型
    String      //字符串
    Number     //数字
    Null    //空
    Undefined//未定义
    Boolean  //布尔
    Array      //数组


    当获取的是class时,获取到的是复数,并且存在多个class,所以需要给class后加上位置索引值
    document.getElementsByClassName("demo")[0].innerHTML
    数组
    1 var arry = [] //创建新的数组
    2 var arry = new Array()//创建新的数组
    .push(); //按顺序给数组添加内容
    .pop(); //得到数组最后一个值,并从数组中删除
    .shift(); //得到数组第一个
    .splice();//删除指定位置的值,按照索引值顺序
    .sort(); //将数组内的数字默认按从小到大排列,字符串也可以
    .join(); //根据指定的字符串连接
    循环
    1.break 语句可用于跳出循环。
    2.break所在的循环体已经结束。
    1.continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。
    2.continue所在的循环体并没有结束。
    获取函数类型
    Object.prototype.toString.apply(); 可以使用Object.prototype.toString.apply(obj)来判断数据类型,返回字符串规则为"[object .......]";
    typeof(); 用于判断基本的,但是typeof不能判断出数组和null,而且对于通过new操作符生成的对象,也无法判断类型。
    符号
    = //(得到或者赋值)
    == //(相等),用来检测两个操作数是否相等,这里的相等定义的非常宽松,可以允许进行类型转换,转化成同一类型后的值”看“值”是否相等
    === //(严格相等)用来检测两个操作数是否严格相等,如果类型不同,其结果就是不等
    || //(逻辑或)
    && //(逻辑与)
    !=  //不等于,在表达式两边的数据类型不一致时,会隐式转换为相同数据类型,然后对值进行比较.
    !==  //不会进行类型转换,在比较时除了对值进行比较以外,还比较两边的数据类型, 它是恒等运算符===的非形式.




    /*
    every // 用来判断数组中的每一个元素是否都满足某个条件,类似于逻辑与(且)
    范例:
    // 判断所有学生是否都及格了。
    var arr = [56, 60, 80, 90, 100];
    arr.every(function (e) {


      return e >= 60;


    });


    some  // 用来判断数组中是否有某个元素满足条件,类似于逻辑或
    范例:
    // 判断是否有满分的学生
    var arr = [56, 60, 80, 90, 100];
    arr.some(function (e) {


      return e === 100;

    // var arr = [1, 2, 3, true]; // 一维数组
    // var arr2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; // 二维数组
    // arr[4] = 4; // 数组的动态添加,之前学了push方法
    // arr[arr.length] 等价于  arr.push
    // var arr = [1,,,2,,] // 最后一个逗号后如果没有值,会被忽略
    // arr.length -= 1; // 表示删除最后一个元素
    // arr.length = 0; // 表示清空数组
    // delete arr[2]; // 这个并不是彻底删除元素,只是简单的把该位置的值变为undefined
    // arr.forEach // 用来遍历数组的元素,接受一个函数对象的参数,arr有多少个元素,函数就执行多少次
    // 范例:
    // arr.forEach(function (ele) {
    //   console.log(ele);
    // });
    // 补充说明:
    //    1. 侵入式方法是指调用完该方法之后,源数组也被改变
    //    2. 非侵入式方法是指调用完该方法之后,源数组不变
    // arr.map // (侵入式)  用来映射数组里面的元素,并返回一个新的数组
    // 范例:
    // var newArr = arr.map(function (ele) {
    //   return ele + 100;
    // });
    // reverse // (非侵入式)  用来逆序
    // slice // (非侵入式)  切片,接收两个参数,第一个是开始下标(包含该元素),第二个是结束下标(不包含该元素)
    // filter // (非侵入式) 过滤
    // 范例:
    // 要求过滤掉数组里面的偶数
    // var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    // arr.filter(function (ele) {
    //   /*
    //   var result = (ele % 2 === 0);
    //   if (result) {
    //     return false;
    //   }
    //   else {
    //     return true;
    //   }
    //   */
    //   // 和上面被注释的代码是等价的
    //   return ele % 2 !== 0;
    // });
    // concat // 合并数组
    // 范例:
    // var arr1 = [1, 2, 3], arr2 = [4, 5, 6];
    // var arr3 = arr1.concat(arr2); // [1, 2, 3, 4, 5, 6]

  • 相关阅读:
    Android getMeasuredHeight()与getHeight()的区别
    Android控件属性android:visibility的"invisible"与"gone"的区别
    浅谈Android onClick与onLongClick事件触发的问题
    Android ListView中FooterView布局问题
    Android GridView 问题
    Android HTTP POST上传
    监听EditText实时输入
    C++03下的delegate实现-
    delegate委托的C++实现--C++11/14(原创)
    Unity3D 移动平台实现一种大规模(其实跟PC比还是算小规模)动画角色渲染的方案---绝对原创方案。。。
  • 原文地址:https://www.cnblogs.com/sj99518/p/9036592.html
Copyright © 2011-2022 走看看