美文网首页
JavaScript 基础注意事项

JavaScript 基础注意事项

作者: 阿喜liang | 来源:发表于2017-09-11 08:50 被阅读12次

JavaScript语法

  • 除0之外的所有数字,转换为布尔型都为true

  • 除“” 之外的所有字符,转换为布尔型都为true

  • nllundefined转换为布尔型为false

  • &&与(只要有一个条件不成立,返回false),说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,此时它遵循下列规则:

    1)如果第一个操作数隐式类型转换后为true,则返回第二个操作数 (有多个操作数就返回最后一个操作数)

    2)如果第一个操作数隐式类型转换后为false,则返回第一个操作数

    3)操作数中有一个结果是null,最后结果就是null;有一个是NaN最后结果就是NaN,有一个是undefined那结果就是undefined

  • ||或(只要有一个条件成立,返回true),说明:在有一个操作数不是布尔值的情况,逻辑或操作就不一定返回值,此时它遵循下列规则:

    1)如果第一个操作数隐式类型转换后为true,则返回第一个操作数

    2)如果第一个操作数隐式类型转换后为false,则返回第二个操作数,如果第二个为false,以此类推

    3)如果两个操作数都是null,则返回null;如果两个操作数都是NaN,则返回NaN;如果两个操作数都是undefined,则返回undefined

  • for:适合已知循环次数的循环体;while适合未知循环次数的循环体

DOM基础

  • ele.className:是重新设置类,替换元素本身的class

  • ele.getAttribute("attribute")获取ele元素的attribute属性;ele.setAttribute("attribute")设置ele元素的attribute属性;ele.removeAttribute("attribute")删除ele元素上的attribute属性

DOM事件

  • btn.onclick = clickBtn;点击按钮调用clickBtn这个函数,这种情况下函数后面不要加括号;

  • onfocus事件用于:input标签type为text、password、textarea标签

  • onsubmit事件不是加在按钮上而是加在表单上点击确认按钮时发生;onmousedown鼠标按钮在元素上按下时触发;onmousemove在鼠标指针移动时发生;onmouseup在元素上松开鼠标按钮时触发;onresize当调整浏览器窗口的大小时触发;onscroll拖动滚动条滚动时触发

  • onkeydown在用户按下一个键盘按键时发生;onkeypress在键盘按键被按下并释放一个键时发生;onkeyup在键盘按键被松开时发生;keyCode:返回onkeypress、onkeydown或onkeyup事件触发的键的值的字符代码

BOM浏览器对象模型

  • window所有的全局变量和全局方法都被归在window上;alert()、confirm()、prompt()文字换行用\n

  • setTimeout(函数,毫秒数):在指定的毫秒数后调用函数或计算表达式;setInterval(函数,毫秒数)每隔指定的时间执行一次代码

  • location对象提供了与当前窗口中加载的文档有关的信息;location.href等于window.location返回当前加载页面的完整URL;location.hash="#top" 页面滚动到顶部锚点位置;location.host返回服务器名称和端口号(如果有);location.hostname返回不带端口号的服务器名称;location.pathname返回URL中的目录(或)文件名;location.prot返回URL中指定的端口号;location.protocol返回页面使用的协议;location.search返回URL的查询字符串;location.reload(true)重新加载当前显示的页面,不加true有可能从缓存中加载,加true是从服务器重新加载;

  • history对象保存了用户在浏览器中访问页面的历史记录

  • screen.availWidth返回可用的屏幕宽度;screen.availHeight返回可用的屏幕高度

  • Navigator对象的userAgent属性1)判断浏览器类型2)判断设备的终端是移动还是pc,用来识别浏览器名称、版本、引擎以及操作系统等信息的内容

      //检测浏览器类型
      function getBrowser(){
          //获取userAgent属性
          var explorer = navigator.userAgent.toLowerCase(),browser;
          if(explorer.indexOf('msie') > -1){
              browser = "IE";
          }else if(explorer.indexOf('chrome') > -1){
              browser = "chrome";
          }else if(explorer.indexOf('opera') > -1){
              browser = "opera";
          }else if(explorer.indexOf('safari') > -1){
              browser = "safari";
          }
          return browser;
      }
      var explorer = getBrowser();
      alert("您当前使用的是:"+explorer+"浏览器");
    

JavaScript内置对象

数组

  • 数组的长度等于最后一项索引加1

  • 数组的栈方法:push()把参数添加到数组的尾部,返回的值是把指定的值添加到数组后的新长度;unshift()把参数添加到数组的开头,返回值是把指定的值添加到数组后的新长度;pop()删除数组的最后一个元素,返回值是被删除的那个元素; shift()删除数组中的第一个元素,返回值是被删除的那个元素;

  • 数组的转换方法:join()用于把数组中的所有元素放入一个字符串,返回值是字符串;

  • 数组重排序方法:reverse()用于颠倒数组中元素的顺序,返回值是数组;sort()用于对数组的元素进行排序,返回值是数组,sort会把数组中的每一项转化为字符串进行排序;

      //sort()方法可以接收一个比较函数作为参数
      //降序
      arr.sort(function(a,b){
          return b-a
      });
      //升序
      arr.sort(function(a,b){
          return a-b
      });
    
  • 数组的操作方法:concat()用于连接两个或多个数组,返回值是新数组;

  • 数组的操作方法:slice(start,end)从已有的数组中返回选定的元素,start(必须)规定从何处开始选取,如是负数,从数组尾部开始算起;end(可选)规定从何处结束选取,是数组片段结束处的数组下标

    1.如果没有指定end,切分数组包含从start到数组结束的所有元素。

    2.如slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置。返回值是数组。

    3.start和end指的是数组中的索引值,截取从start和end-1的元素。

    //完成以下代码段,实现b数组对a数组的拷贝,方法越多越好
    var a = [1,"yes",3];
    var b;
    //1、数组遍历push
    b = new Array();
    for(var i=0; i<a.length; i++){
        b.push(a[i]);
    }
    //2、concat()
    b = [].concat(a); 
  • splice(index,count)删除从index处开始的零个或多个元素。返回值是含有被删除的元素的数组,count是要删除的项目数量,如果设置为0,则不会删除项目,如果不设置,则删除从index开始的所有值。

  • splice(index,0,item1,....,itemX)在指定位置插入值,index是起始位置,0要删除的项数,item1...itemX是要插入的项,返回值是数组

  • splice(index,count,item1,..itemX)在指定位置插入值(替换),且同时删除任意数量的项,index起始位置,count要删除的项数,item1....itemX要插入的项,返回值是从原始数组中删除的项(如果没有删除任何项,则返回空数组)

  • 位置方法(IE9以上的浏览器支持):indexOf(searchvalue,startIndex)从数组的开头(位置0)开始向后查找,searchvalue(必需,要查找的项),startIndex(可选,起点位置的索引),返回值是number(查找的项在数组中的位置,没有找到的情况下返回-1);lasetIndexOf(searchvalue, startIndex)从末尾开始向前查找,没有找到返回-1;

      //封装一个方法实现indexOf的功能,可以兼容ie9以下浏览器
      var nums=[1,7,5,8,8,1,6,9];
      function ArrayIndexOf(arr,value){
          //检测value在arr中出现的位置
          for(var i=0;i<arr.length;i++){
              if(arr[i]===value){
                  return i;
              }
          }
          return -1;
      }
      var pos2= ArrayIndexOf(nums,8);
      console.log(pos2);
    

String 字符串

  • stringObject.charAt(index)返回stringObject中index位置的字符。

  • charCodeAt(index)返回index位置字符的字符编码

  • stringObject.indexOf("0")从一个字符串中搜索给定的子字符串,返回子字符串的位置,如果没有找到返回-1,从字符串最左边开始检测遇到第一个要检测的字符返回其位置;lastIndexOf()从最后开始检测;

  • 字符串截取方法

    1.slice(start,end)截取字符串,start必需,指定子字符串开始位置;end可选,表示自字符串到哪里结束,end本身不在截取范围之内,省略时截取至字符串的末尾。当参数为负数时,将传入的负值与字符串的长度相加。

    2.substring()语法及功能同slice()完全一样,区别在于:当参数为负数时,自动将参数转换为0,自动把小的数字变成起始位置。

    3.substr(start,len)截取字符串,start必需,指定字符串的开始,len可选,表示截取的字符总数,省略时截取至字符串的末尾;当start为负数时,会将传入的负值与字符串的长度相加;当len为负数时,返回空字符串。

  • split(separator)把一个字符串分割成字符串数组,返回Array,separator必需,分隔符。

      var str='welcome-to-beijing';
      //使用split将str转换为数组
      var arr=str.split("-");
      console.log(arr)//["welcome","to","beijing"]
    
  • replace(regexp/substr,replacement)在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。返回被替换之后的字符串;regexp必需,规定子字符串或要替换的模式的RegExp对象;replacement必需,替换成什么的新的内容。

      var tel='010-62971268,400-100-9098,010-86789889';
      //newTel被替换之后的字符串
      var newTel=tel.replace(/,/g," ");
      console.log(newTel)
    
  • stringObject.toUpperCase()把字符串转化为大写

  • stringObject.toLowerCase()把字符串转换为小写

      function camelback(str){
          //通过-这个分隔符降str拆分成数组
          var arr=str.split("-");
          var newStr = arr[0];
          //console.log(arr);//['border','left','color']
          for(var i=1,len=arr.length;i<len;i++){
              var word=arr[i];
              //将每一个单词的首字母转换为大写
              newStr += word.charAt(0).toUpperCase()+word.substr(1);
              console.log(newStr);
          }
          return newStr;
      }
      var camelFormat=camelback('border-left-color');
      console.log(camelFormat);
    

相关文章

  • 关于javaScript中序列化注意时项

    JavaScript中序列化的注意事项 报错信息 基础的回顾 JavaScript对象序列化Json格式的字符串 ...

  • JavaScript 基础注意事项

    JavaScript语法 除0之外的所有数字,转换为布尔型都为true 除“” 之外的所有字符,转换为布尔型都为t...

  • 第14天,JavaScript

    第14天,JavaScript @(前端基础)[JavaScript] 目录 一、JavaScript基础 一个完...

  • JS-Basic

    本文主要结构 任务JavaScript基础练习JavaScript集合练习 JavaScript基础练习学到的主要...

  • JavaScript-01

    A 什么是JavaScript JavaScript 定义JavaScript JavaScript基础语法 常用...

  • Js全局变量和局部变量

    //结果: Javascript语言基础 //结果: Javascript语言基础 //结果:Javascri...

  • JavaScript学习指南

    1.1 JavaScript基础概念: JavaScript (ECMAScript) :JavaScript 是...

  • javaScript 基础知识

    javaScript 基础知识 一 JavaScript概述 JavaScript概述 JavaScript是客户...

  • 5-javascript基础

    javascript基础 javascript基础类型 基本数据类型:String,boolean,Number,...

  • JavaScript 基础

    JavaScript基础 JavaScript简介JavaScript对象 JavaScript简介 为什么使用j...

网友评论

      本文标题:JavaScript 基础注意事项

      本文链接:https://www.haomeiwen.com/subject/ocyxsxtx.html