js-字符串的方法,时间对象,获取Dom对象,绑定事件,删除事件

字符串的方法

操作字符串是可以通过下标的形式来操作的
 var str = "大家好,我是字符串";

可以用通过类似于数组的形式去操作串
    console.log(str[1])
1.通过下标去获取指定位置的字符串
    var s = str.charAt(2)
    console.log(s)

2.获取字符串的长度
    console.log(str.length)

3.可以拼接多个字符串
    var s = str.concat("我很好","abc")
    var s = str + '我很好' + 'abc'
    console.log(s)
    console.dir(String)

4.截取字符串 包含起始位置  不包含结束位置
    var str = "大家好,我是字符串";
     var s = str.slice(1)
     console.log(s)

5.判断是否包含某个字符串
     var str = "大家好,我是字符串";
     console.log(str.includes('abc'))

  6.返回指定字符串所在的下标  没有就返回-1
      var str = "大家好,我好是字符串";
      console.log(str.indexOf("好"))

   7.返回指定字符串的下标  后往前找
      console.log(str.lastIndexOf("abc"))

   8.字符串前面填充 padStart(长度,以什么填充)
       var str = "你好"
       var s = str.padStart(4,"哈")
       console.log(s)

   9.字符串后面填充
       var str = "你好"
       var s = str.padEnd(5,'x')
       console.log(s)

  10.转换成小写字母
       var str = "Haha HEHE"
       console.log(str.toLowerCase())

   11.转换成大写字母
       var str = "Haha HEHE"
       console.log(str.toUpperCase())

  12.字符串重复
       var str = "Haha HEHE"
       console.log(str.repeat(3))

   13.替换指定字符串 默认只能替换最前面那一个
       var str = "Haha HEHE"
       console.log(str.replace('H',"m"))

   14.替换整个字符串指定内容
        console.log(str.replaceAll("H","m"))

   15.将字符串转换成数组 参数是指定通过什么字符来进行分割
        var str = "你好_我好_大家好"
        console.log(str.split("_"))

   trim() 去除两边空格
        var str = "       woshi      "
        console.log(str.trim())
   去除前面的空格
        console.log(str.trimStart())
   去除后边的空格
       console.log(str.trimEnd())

数学方法

获取一个0-1的随机数包含0 不包含1
    Math.random()
    向上取整
    console.log(Math.ceil(1.4))
    向下取整
    console.log(Math.floor(1.9))
    四舍五入
    console.log(Math.round(1.3))
    取绝对值
    console.log(Math.abs(-3))

    判断多个数字的最大值
    console.log(Math.max(5,2,10,99))

    判断多个数的最小值
    console.log(Math.min(5,2,10,99))
    几的几次方
    console.log(Math.pow(3,3))

时间对象

日期对象
   创建一个日期对象 默认会返回一个当前时间的对象
    var dt = new Date();
    console.log(dt);
    创建一个指定时间的对象
    var dt = new Date("2023-5-1 0:0:0")
    var dt = new Date("2023/5/1 0:0:0")
     console.log(dt)

    // var dt = new Date();
    // 年
    // console.log(dt.getFullYear())
    // 月 月份是需要+1 0-11
    // console.log(dt.getMonth())
    // 日
    // console.log(dt.getDate())
    // 星期几 0-6 0表示星期日
    // console.log(dt.getDay())
    // 小时
    // console.log(dt.getHours())
    // 分钟
    // console.log(dt.getMinutes())
    // 秒
    // console.log(dt.getSeconds())
    // 时间戳 表示的是1970-1-1 0:0:0 离当前时间对象的毫秒数
    // 1秒等于1000毫秒
    // console.log(dt.getTime())
    // 将时间转换成世界标准时间对象
    // console.log(dt.toUTCString())


    // 获取到未来时间的时间戳
    // console.log(dt2.getTime())

    // 当前的时间戳
    // console.log(dt1.getTime())

    // 计算两个时间戳的差距
    // console.log(dt2.getTime() - dt1.getTime())
    // var time = dt2.getTime() - dt1.getTime()
    // console.log(time / 1000 / 60 / 60 /24)

获取DOM对象
      DOM:Document Object Module 文档对象模型
     document:整个文档
    /*
      方案1:document.getElementsByTagName(标签名)
        根据标签名来获取DOM对象
        -返回的是一个类似于数组的对象(集合)
    */
    // var btn = document.getElementsByTagName("button")
    // console.log(btn[0])
    // for(var i = 0; i < btn.length; i++){
    //   console.log(btn[i])
    // }

    /*
      方案2:document.getElementById(id名)
        根据id获取DOM对象
        -返回的是一个获取到的DOM对象
        
    */
    // var btn = document.getElementById("btn2")
    // console.log(btn)

    /*
      方案3:document.getElementByClass(类名)
        根据类名来获取dom对象
        -返回的是根据类名获取到的一个DOM集合
    */
    //  var btns = document.getElementsByClassName("btn1")
    //  console.log(btns)

    /*
      方案4:document.getElementByName(name值)
        根据name属性值来获取dom元素
          返回的是一个匹配上name属性值的集合对象
    */
    // var btns = document.getElementsByName("b1")
    // console.log(btns)


    /*
      方案5:document.querySelector(选择器)
        根据选择器获取dom元素 css怎么写的这里就可以怎么写
        找到第一个匹配的dom元素
          -返回的就是选择器匹配到的dom元素

    */
    // var btn = document.querySelector("button:nth-of-type(2)")
    // console.log(btn)
    /*
      方案6::document.querySelectorAll(选择器)
          根据选择器获取dom元素 css怎么写的这里就可以怎么写
            -返回的是一个匹配到的元素集合
     */
    // var btns = document.querySelectorAll("#btn2")
    // console.log(btns)

绑定事件

  /*
      事件:
        用户和DOM进行一个互动 就需要事件绑定
    */
    var btn = document.querySelector("button")
    //必须是一个函数体 这个函数当事件被触发的时候会执行这个函数
    // btn.onclick = fn
    // btn.onclick = function (){
    //   alert("我是函数")
    // }

    // 后面的事件会覆盖掉前面的事件
    // btn.onclick = function(){
    //   alert("我是第二个事件")
    // }


    /* 事件监听
        btn.addEventListener("事件名不带on",回调函数,事件机制(true/false))
          可以监听多次的
    */
    // btn.addEventListener("click",function(){
    //   alert("我是点击事件")
    // },false)

    // btn.addEventListener("click",function(){
    //   alert("我是点击事件222")
    // },false)

删除事件

 var btn = document.querySelector("button")
    // 怎么绑的怎么删
    // btn.onclick = function () {
    //   alert("我是按钮的点击事件")
    //   /* 删除事件 */
    //   btn.onclick = null
    // }

   /*
      你绑定的是哪个函数 删出的时候就要哪个函数
    */
    function fn() {
      alert("点击事件")
      /*
      删除事件监听
       btn.removeEventListener(事件名,回调函数)
    */
      btn.removeEventListener("click", fn)
    }
    btn.addEventListener("click", fn)

  处理兼容

var btn = document.getElementById('btn')

    // btn.addEventListener("click",function(){
    //   alert("我是点击事件")
    // })
    /*
       ie监听事件
        btn.attachEvent("事件名并且需要带on",回调函数)
    */
    //   console.log(btn)
    //   btn.attachEvent("onclick",function(){
    //     alert("我是点击事件")
    //   })
    function fn() {
      alert("我是点击事件")
    }
    if (btn.addEventListener) {
      // 正常浏览器
      btn.addEventListener("click", fn)
    } else {
      // ie浏览器
      btn.attachEvent("onclick", fn)
    }

innerHTML和innerText

 var btn = document.querySelector("button")
    // 获取h1的dom对象
    var hh = document.querySelector("h1");
    btn.onclick = function () {
      // 获取dom种的内容(包含标签) 解析标签
      // console.log(hh.innerHTML)
      // 获取dom种的内容(只获取文本)  不会解析标签
      // console.log(hh.innerText)
      
      // hh.innerHTML = "<a href=''>百度</a>"
      // hh.innerText = "<a href=''>百度</a>"

    }

操作DOM属性

 // 标签中属性 其实也可以当做dom对象的的属性来使用
    // 操作dom属性基本上的情况都能拿到 除非一些特殊的属性
    var btn = document.querySelector("button")
    var aDom = document.querySelector("a")
    btn.onclick = function(){
      // console.dir(aDom)
      // 获取属性
      // console.log(aDom.href)
      // console.log(aDom.title)
      // 修改属性
      // aDom.href = "http://www.jd.com"
      // aDom.title = "京东"
    }

操作表单属性

var btn1 = document.querySelectorAll("button")[0]
    // 获取文本框表单
    var inputText = document.querySelector("[type=text]")
    var inputCheckbox = document.querySelector("[type=checkbox]")
    var inputRadio = document.querySelector("[type=radio]")
    btn1.onclick = function(){

      // 默认选中
      inputCheckbox.checked = true
      inputRadio.checked = true
 
      // 操作这些属性的时候是boolean
      // inputText.disabled = true


      // 获取表单中的value值
      // console.log(inputText.value)
      // 赋值
      // inputText.value = "呵呵"

    }
    var btn2 = document.querySelectorAll("button")[1]
    btn2.onclick = function(){
      // inputText.disabled = false
      inputCheckbox.checked = false
      inputRadio.checked = false
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值