day05原生js 字符串和js的组成

JS的组成

  • JS: JavaScript 通常指的是前端浏览器中的一门语言。其实,JS由三部分组成
    • BOM
      • Browser Object Model(浏览器对象模型) 简而言之 是window对象
    • DOM
      • Document Object Model(文档对象模型) 简而言之是document对象
    • ECMAScript
      • 这是JS中核心语法部分(现在学习的部分是3.1版本 后面还有5 6 7 8 9 10…)

通常而言,JS与ES可以通用。

JS中的常用事件

事件是属于BOM的。
事件的定义:
当用户进行页面操作时,会有各种行为产生。比如点击了一下、鼠标滑过某一个元素、鼠标双击、右击、键盘按下、键盘抬起、滚动滚轮等。
交互交互,不能只让用户自己操作,我们的页面也需要有“反应”。这些反应就通过事件来定义。
所以,就预先定义出来了各种各样的事件。它们按照类型可以进行如下划分

  • 鼠标类
    • 单击 click
    • 双击 dblclick
    • 右击 contextmenu
    • 按下 mousedown
    • 抬起 mouseup
    • 移动 mousemove
    • 进入 mouseover mouseenter
    • 离开 mouseout mouseleave
  • 键盘类
    • 键盘键按下 keydown
    • 键盘键抬起 keyup
    • 键盘字符键 keypress
  • 表单类
    • 输入事件 input
    • 改变事件 change
    • 提交事件 submit
  • 焦点类
    • 获取焦点 focus
    • 失去焦点 blur
  • 其它事件
    • 浏览器的卷动事件 scroll
    • 浏览器的加载事件 load
    • 浏览器的尺寸改变 resize

函数中的this

函数中有一个this关键字。它直接指向堆内存。
所以this不能使用=修改
this到底是谁? 定义的时候是无法确定的,只有当函数调用的时候,才能够确定。
总结: 谁调用这个函数,函数中的this就指向谁。如果调用者不明确,this默认指向window。

字符串

JS中的基本类型数据之一。

定义

  • 字面量

  • 构造函数

属性

  • length

方法

// 字符串的存储形式
// 计算机中的一切都是二进制
// 数字的存储可以使用二进制 但是文字怎么存?
// 计算机中对每一个文字符号都进行了编码,这些编码是数字。计算机在存储的时候存的是编码。
// 但是当取出来使用的时候会再按照编码转为文字。
// 编码有很多种: ASCII码 是比较早的一个版本 它并没有把所有的文字都收录进去
// 所以ASCII码无法表示中文 后来随着时间的推移 就有了unicode编码 unicode 8 unicode 16 unicode 32等不同的版本
// UTF-8 就是unicode 8
// 它是将所有的文字都收录进去 所以也叫做“万国码”

    // 字符串的比较 其实是再比较编码
    // 比较规则: 拿着两个字符串的第一位比较编码 如果分出胜负就出结果 如果相同 去比较第二位的编码 以此类推


    // 字符串的一些常用方法
    // charAt
    // var str = "abcdefg";

    // var s = str.charAt(5); // 下标为5的字符
    // console.log(s);

    // charCodeAt
    // var str = "abcde子啊g";

    // var s = str.charCodeAt(5); // 下标为5的字符的unicdoe码 
    // console.log(s);
    
    // concat 
    // var str = "abc";

    // var str1 = str.concat("a", "b", "c", "dsdafsdafsad");
    // console.log(str1);


    // slice
    // var str = "abcdefghijklm";
    // var str1 = str.slice(1, -9);
    // console.log(str1);

    //split
    var arr = ["a", "b", "c", "d", "e"];
    var str = arr.join("*"); 
    console.log(str);
    var arr1 = str.split("*");
    console.log(arr1);


    // substring
    // var str = "abcdefghijklm";
    // var str1 = str.substring(1, 9);
    // var str2 = str.substring(9, 1);
    // console.log(str1);
    // console.log(str2);


    // substr
    // var str = "abcdefghijklm";
    // var str1 = str.substr(2, 6);
    // var str2 = str.substring(1, 6);
    // console.log(str1);
    // console.log(str2);
    

    // indexOf
    // var str = "abcdefabcjklm";
    // var a = str.indexOf("abc", 1);
    // console.log(a);

    // toUpperCase
    // var str = "aAbBcCdD";

    // console.log(str.toUpperCase());
    // toLowerCase
    // console.log(str.toLowerCase());

    
    // replace
    // var str = "今天天气好好";
    // var str1 = str.replace("天天", "**");
    // console.log(str);
    // console.log(str1);
    
    // match 
    // var str = "今天天气好好";
    // var result = str.match("天天");
    // console.log(result);

    // search
    // var str = "今天天气天天好好";
    // var result = str.search("天天");
    // console.log(result);
  • concat
  • charAt
  • charCodeAt
  • slice
  • substr
  • substring
  • split
  • toLowerCase
  • toUpperCase
  • replace
  • match
  • search
  • indexOf

严格模式

简介

严格模式是ES5中新增的一种书写模式。比之前的要求更加严格。

变量不能不var

函数形参不同重复

不能使用八进制

会给eval独立开辟作用域

不能使用保留字定义变量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值