• JavaScript基础知识总结


    声明:本文摘抄自:https://blog.csdn.net/qq_39043923/article/details/89204263

    JavaScript基础

    浏览器说明

      浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件。

      通俗的讲:可以显示页面的一个软件,

      国内网民计算机上常见的网页浏览器有,QQ浏览器、Internet Explorer、Firefox、Safari,Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360浏览器、UC浏览器、傲游浏览器、世界之窗浏览器等,浏览器是最经常使用到的客户端程序。
    常用的五大浏览器内核:chrome,firefox,Safari,ie,opera
      我们用chrome(谷歌浏览器)

      

    网页、网站和应用程序

      网页:单独的一个页面

      网站:一些列相关的页面组成到一起

      应用程序:可以和用户产生交互,并实现某种功能。

    演示JavaScript的强大

      http://naotu.baidu.com/

      https://codecombat.com/

      https://ide.codemao.cn/

      需要FQ

      https://developers.google.com/blockly/

      blockly迷宫

      https://blockly-games.appspot.com

      blockly迷宫不需要FQ

      https://blockly.uieee.com/

    JavaScript介绍

      JavaScript是什么

      HTML CSS

      JavaScript 编程语言 流程控制

        Netscape在最初将其脚本语言命名为LiveScript,后来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。JavaScript与Java名称上的近似,是当时Netscape为了营销考虑与Sun微系统达成协议的结果。Java和JavaScript的关系就像张雨和张雨生的关系,只是名字很像。

      Java 服务器端的编程语言

      JavaScript 运行在客户端(浏览器)的编程语言

        JavaScript是一种运行在***客户端*** 的***脚本语言***

        JavaScript的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

    JavaScript现在的意义(应用场景)

      JavaScript 发展到现在几乎无所不能。

      1.网页特效

      2.服务端开发(Node.js)

      3.命令行工具(Node.js)

      4.桌面程序(Electron)

      5.App(Cordova)

      6.控制硬件-物联网(Ruff)

      7.游戏开发(cocos2d-js)

    JavaScript和HTML、CSS的区别

      1.HTML:提供网页的结构,提供网页中的内容

      2.CSS: 用来美化网页

      3.JavaScript: 可以用来控制网页内容,给网页增加动态的效果

    JavaScript的组成

      

    ECMAScript - JavaScript的核心

      ECMA 欧洲计算机制造联合会

      网景:JavaScript

      微软:JScript

      定义了JavaScript的语法规范

      JavaScript的核心,描述了语言的基本语法和数据类型,ECMAScript是一套标准,定义了一种语言的标准与具体实现无关

    BOM - 浏览器对象模型

      一套操作浏览器功能的API

      通过BOM可以操作浏览器窗口,比如:弹出框、控制浏览器跳转、获取分辨率等

    DOM - 文档对象模型

      一套操作页面元素的API

      DOM可以把HTML看做是文档树,通过DOM提供的API可以对树上的节点进行操作

    JavaScript初体验

      CSS:行内样式、嵌入样式、外部样式

    JavaScript的书写位置

      写在行内

      

       写在script标签中

      

       写在外部js文件中,在页面引入

      

       注意点

        引用外部js文件的script标签中不可以写JavaScript代码

    计算机组成

      软件

        应用软件:浏览器(Chrome/IE/Firefox)、QQ、Sublime、Word

        系统软件:Windows、Linux、mac OSX

      硬件

        三大件:CPU、内存、硬盘 – 主板

        输入设备:鼠标、键盘、手写板、摄像头等

        输出设备:显示器、打印机、投影仪等

      

       

    变量

      什么是变量

        变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据

      为什么要使用变量

        使用变量可以方便的获取或者修改内存中的数据

      如何使用变量

        var声明变量

        

         变量的赋值

        

         同时声明多个变量

        

         同时声明多个变量并赋值

          

      变量在内存中的存储

        

         

    变量的命名规则和规范

      规则 - 必须遵守的,不遵守会报错

        由字母、数字、下划线、$符号组成,不能以数字开头

        不能是关键字和保留字,例如:for、while。

        区分大小写

      规范 - 建议遵守的,不遵守不会报错

        变量名必须有意义

        遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。例如:userName、userPassword

      下面哪些变量名不合法

      

      案例

      1.交换两个变量的值

      2.不使用临时变量,交换两个数值变量的值

    数据类型

      简单数据类型

        Number、String、Boolean、Undefined、Null

      Number类型

        数值字面量:数值的固定值的表示法

          110 1024 60.5

        进制

      

       浮点数

        浮点数的精度问题

      

       数值范围

      

       数值判断

        NaN:not a number

          NaN 与任何值都不相等,包括他本身

        isNaN: is not a number

      String类型

        ‘abc’ “abc”

        字符串字面量

          ‘程序猿’,‘程序媛’, “程序猿NX”

        思考:如何打印以下字符串。

          我是一个"正直"的人

          我很喜欢"前端’程序猿’"

        转义符

        

         字符串长度

          length属性用来获取字符串的长度

          

          字符串拼接

            字符串拼接使用 + 连接

          

           1.两边只要有一个是字符串,那么+就是字符串拼接功能

          2.两边如果都是数字,那么就是算术功能。

      Boolean类型

        Boolean字面量: true和false,区分大小写

        计算机内部存储:true为1,false为0

      Undefined和Null

        undefined表示一个声明了没有赋值的变量,变量只声明的时候值默认是undefined

        null表示一个空,变量的值如果想为null,必须手动设置

      复杂数据类型

        Object

      获取变量的类型

        typeof

      

      字面量

        在源代码中一个固定值的表示法。

        数值字面量:8, 9, 10

        字符串字面量:‘程序员’, “大前端”

        布尔字面量:true,false 

    注释   

      单行注释

        用来描述下面一个或多行代码的作用

         

      多行注释

        用来注释多条代码

        

    数据类型转换

      如何使用谷歌浏览器,快速的查看数据类型?

      字符串的颜色是黑色的,数值类型是蓝色的,布尔类型也是蓝色的,undefined和null是灰色的  

      转换成字符串类型

        toString()

        

         String()

        

         拼接字符串方式

          num + “”,当 + 两边一个操作符是字符串类型,一个操作符是其它类型的时候,会先把其它类型转换成字符串再进行字符串拼接,返回字符串 

      转换成数值类型

        Number()

        

         parseInt()

        

         parseFloat()

        

         +,-0等运算

          

      转换成布尔类型

        Boolean()

          0 ‘’(空字符串) null undefined NaN 会转换成false 其它都会转换成true

    操作符

      运算符 operator

        5 + 6

        表达式 组成 操作数和操作符,会有一个结果

      算术运算符

        

      一元运算符

        一元运算符:只有一个操作数的运算符

        5 + 6 两个操作数的运算符 二元运算符

        ++ 自身加1

        – 自身减1

        前置++

        

         后置++

        

         猜猜看

        

         总结

          前置++:先加1,后参与运算

          后置++:先参与运算,后加1

          上面两个理解后,下面两个自通

          前置-- :先减1,后参与运算

          后置-- :先参与运算,后减1

      逻辑运算符(布尔运算符)

        

      关系运算符(比较运算符)

        

           

      赋值运算符

        = += -= *= /= %=

         

      运算符的优先级

        

         

    表达式和语句  

      表达式

        一个表达式可以产生一个值,有可能是运算、函数调用、有可能是字面量。表达式可以放在任何需要值的地方 

      语句

        语句可以理解为一个行为,循环语句和判断语句就是典型的语句。一个程序有很多个语句组成,一般情况下;分割一个一个的语句

    流程控制

      程序的三种基本结构

      顺序结构

        从上到下执行的代码就是顺序结构

        程序默认就是由上到下顺序执行的 

      分支结构

        根据不同的情况,执行对应代码

      循环结构

        循环结构:重复做一件事情

      分支结构  

        if语句

          语法结构

          

         案例:

          求两个数的最大数

          判断一个数是偶数还是奇数

          分数转换,把百分制转换成ABCDE <60 E 60-70 D 70-80 C 80-90 B 90 - 100 A

        作业:

          判断一个年份是闰年还是平年

          闰年:能被4整除,但不能被100整除的年份 或者 能被400整除的年份

          判断一个人的年龄是否满18岁(是否成年) 

      三元运算符

        

         案例:

        是否年满18岁

        从两个数中找最大值

      switch语句

        语法格式:

        

         

       案例:

        显示星期几

        素质教育(把分数变成ABCDE)千万不要写100个case哟  

      布尔类型的隐式转换

        流程控制语句会把后面的值隐式转换成布尔类型

        

           

      案例

         

      循环结构

        在javascript中,循环语句有三种,while、do…while、for循环。 

      while语句

        基本语法:

        

         代码示例:

        

         案例:

        打印100以内 7的倍数

        打印100以内所有偶数

        打印100以内所有偶数的和

        作业:

        打印100以内的奇数

        打印100以内的奇数的和

      do…while语句

        do…while循环和while循环非常像,二者经常可以相互替代,但是do…while的特点是不管条件成不成立,都会执行一次。

      基础语法:

        

       代码示例:

        

       案例:

        

      for语句

        while和do…while一般用来解决无法确认次数的循环。for循环一般在循环次数确定的时候比较方便

        for循环语法:

        

         执行顺序:1243 ---- 243 -----243(直到循环条件变成false)

          1.初始化表达式

          2.判断表达式

          3.自增表达式

          4.循环体

        案例:

    打印1-100之间所有数
    求1-100之间所有数的和
    求1-100之间所有数的平均值
    求1-100之间所有偶数的和
    同时求1-100之间所有偶数和奇数的和
    打印正方形
    // 使用拼字符串的方法的原因
    // console.log 输出重复内容的问题
    // console.log 默认输出内容介绍后有换行
    var start = '';
    for (var i = 0; i < 10; i++) {
      for (var j = 0; j < 10; j++) {
        start += '* ';
      }
      start += '
    ';
    }
    console.log(start);
    打印直角三角形
    var start = '';
    for (var i = 0; i < 10; i++) {
      for (var j = i; j < 10; j++) {
        start += '* ';
      }
      start += '
    ';
    }
    console.log(start);
    
    打印9*9乘法表
    var str = '';
    for (var i = 1; i <= 9; i++) {
      for (var j = i; j <=9; j++) {
        str += i + ' * ' + j + ' = ' + i * j + '	';
      }
      str += '
    ';
    }
    console.log(str);

      作业:

    求1-100之间所有数的乘积
    求1-100之间所有奇数的和
    计算1-100之间能3整除的数的和
    计算1-100之间不能被7整除的数的和
    // 讲解思路。如果不会写程序,可以先把数学公式准备好
    本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少?
    有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。
    已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。
    假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对?(兔子的规律为数列,
    1,1,2,3,5,8,13,21)

      continue和break

        break:立即跳出整个循环,即循环结束,开始执行循环后面的内容(直接跳到大括号)

        continue:立即跳出当前循环,继续下一次循环(跳到i++的地方)

      案例:

      

       作业:

        求1-100之间不能被7整除的整数的和(用continue)

        求200-300之间所有的奇数的和(用continue)

        求200-300之间第一个能被7整数的数(break)

    调试

      过去调试JavaScript的方式

        alert()

        console.log()

      断点调试

        断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。

      调试步骤

      

       调试中的相关操作

      

       tips: 监视变量,不要监视表达式,因为监视了表达式,那么这个表达式也会执行。

         1.代码调试的能力非常重要,只有学会了代码调试,才能学会自己解决bug的能力。初学者不要觉得调试代码麻烦就不去调试,知识点花点功夫肯定学的会,但是代码调试这个东西,自己不去练,永远都学不会。

        2.今天学的代码调试非常的简单,只要求同学们记住代码调试的这几个按钮的作用即可,后面还会学到很多的代码调试技巧。

    数组  

      为什么要学习数组

        之前学习的数据类型,只能存储一个值(比如:Number/String。我们想存储班级中所有学生的姓名,此时该如何存储?

      数组的概念

        所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组。

      数组的定义

        数组是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态的调整。

      通过数组字面量创建数组

       

      获取数组元素

        数组的取值

        

      遍历数组

        遍历:遍及所有,对数组的每一个元素都访问一次就叫遍历。

        数组遍历的基本语法:

         

      数组中新增元素

        数组的赋值

         

      案例

        

    函数

      为什么要有函数

        如果要在多个地方求1-100之间所有数的和,应该怎么做?  

      什么是函数

        把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数,起个名字(函数名),在后续开发中可以反复调用函数的作用就是封装一段代码,将来可以重复使用

      函数的定义

        函数声明

        

         函数表达式

        

         特点:

          函数声明的时候,函数体并不会执行,只要当函数被调用的时候才会执行。

          函数一般都用来干一件事情,需用使用动词+名词,表示做一件事情 tellStory sayHello

      函数的调用

        调用函数的语法:

        

         特点:

          函数体只有在调用的时候才会执行,调用需要()进行调用。

          可以调用多次(重复使用)

        代码示例:

        

      函数的参数

        为什么要有参数

        

         语法:

        

         形参和实参

          1.形式参数:在声明一个函数的时候,为了函数的功能更加灵活,有些值是固定不了的,对于这些固定不了的值。我们可以给函数设置参数。这个参数没有具体的值,仅仅起到一个占位置的作用,我们通常称之为形式参数,也叫形参。

          2.实际参数:如果函数在声明时,设置了形参,那么在函数调用的时候就需要传入对应的参数,我们把传入的参数叫做实际参数,也叫实参。

             

        案例

          求1-n之间所有数的和

          求n-m之间所有数额和

          圆的面积

          求2个数中的最大值

          求3个数中的最大值

          判断一个数是否是素数   

      函数的返回值

        当函数执行完的时候,并不是所有时候都要把结果打印。我们期望函数给我一些反馈(比如计算的结果返回进行后续的运算),这个时候可以让函数返回一些东西。也就是返回值。函数通过return返回一个返回值

        返回值语法:

        

         函数的调用结果就是返回值,因此我们可以直接对函数调用结果进行操作。

        返回值详解:

          如果函数没有显示的使用 return语句 ,那么函数有默认的返回值:undefined

          如果函数使用 return语句,那么跟再return后面的值,就成了函数的返回值

          如果函数使用 return语句,但是return后面没有任何值,那么函数的返回值也是:undefined

          函数使用return语句后,这个函数会在执行完 return 语句之后停止并立即退出,也就是说return后面的所有其他代码都不会再执行。

          

      案例

        求阶乘

        求1!+2!+3!+…+n!

        求一组数中的最大值

        求一组数中的最小值 

      arguments的使用

        JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性。也就是说所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有的实参。arguments是一个伪数组,因此及可以进行遍历

      案例

        

      案例

          

      函数其它    

        匿名函数

          匿名函数:没有名字的函数

        匿名函数如何使用:

        

         关于自执行函数(匿名函数自调用)的作用:防止全局变量污染。   

      自调用函数

        匿名函数不能通过直接调用来执行,因此可以通过匿名函数的自调用的方式来执行

           

      函数是一种数据类型

        

       函数作为参数

        因为函数也是一种类型,可以把函数作为两一个函数的参数,在两一个函数中调用

      函数做为返回值

        因为函数是一种类型,所以可以把函数可以作为返回值从函数内部返回,这种用法在后面很常见。

          

      代码规范

         

    作用域

        作用域:变量可以起作用的范围 

      全局变量和局部变量

        全局变量

          在任何地方都可以访问到的变量就是全局变量,对应全局作用域

        局部变量

          只在固定的代码片段内可访问到的变量,最常见的例如函数内部。对应局部作用域(函数作用域)

         

      块级作用域

        任何一对花括号({和})中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是不可见的,我们称之为块级作用域。在es5之前没有块级作用域的的概念,只有函数作用域,现阶段可以认为JavaScript没有块级作用域. 

      词法作用域

        变量的作用域是在定义时决定而不是执行时决定,也就是说词法作用域取决于源码,通过静态分析就能确定,因此词法作用域也叫做静态作用域。

      在 js 中词法作用域规则:

        函数允许访问函数外的数据.

        整个代码结构中只有函数可以限定作用域.

        作用域规则首先使用提升规则分析

        如果当前作用规则中有名字了, 就不考虑外面的名字

         

      作用域链

    只有函数可以制造作用域结构, 那么只要是代码,就至少有一个作用域, 即全局作用域。凡是代码中有函数,那么这个函数就构成另一个作用域。
    如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域。 将这样的所有的作用域列出来,可以有一个结构: 函数内指向函数外的链式结构。就称作作用域链。

      

       

       

       

    预解析

      JavaScript代码的执行是由浏览器中的JavaScript解析器来执行的。JavaScript解析器执行JavaScript代码的时候,分为两个过程:预解析过程和代码执行过程

      预解析过程:

        1.把变量的声明提升到当前作用域的最前面,只会提升声明,不会提升赋值。

        2.把函数的声明提升到当前作用域的最前面,只会提升声明,不会提升调用。

        3.先提升var,在提升function

      JavaScript的执行过程

       

      全局解析规则    

        函数内部解析规则 

        变量提升

          变量提升

            定义变量的时候,变量的声明会被提升到作用域的最上面,变量的赋值不会提升。

          函数提升

            JavaScript解析器首先会把当前作用域的函数声明提前到整个作用域的最前面

          

    对象

      为什么要有对象

       

      什么是对象

        

      JavaScript中的对象

      

       事物的特征在对象中用属性来表示。

      事物的行为在对象中用方法来表示。

    对象字面量

      字面量:11 ‘abc’ true [] {}等

      

       思考:

      

    对象创建方式

      对象字面量

      

       new Object()创建对象

      

       工厂函数创建对象

      

       自定义构造函数

         

    属性和方法

      

    new关键字

      构造函数 ,是一种特殊的函数。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。

        1.构造函数用于创建一类对象,首字母要大写。

        2.构造函数要和new一起使用才有意义。

      new在执行时会做四件事情

        

    this详解

    JavaScript中的this指向问题,有时候会让人难以捉摸,随着学习的深入,我们可以逐渐了解
    现在我们需要掌握函数内部的this几个特点
        1. 函数在定义的时候this是不确定的,只有在调用的时候才可以确定
        2. 一般函数直接执行,内部this指向全局window
        3. 函数作为一个对象的方法,被该对象所调用,那么this指向的是该对象
        4. 构造函数中的this其实是一个隐式对象,类似一个初始化的模型,所有方法和属性都挂载到了这个隐式对象身上,后续通过new关键字来调用,从而实现实例化

    对象的使用  

      遍历对象的属性

        通过for…in语法可以遍历一个对象

         

      删除对象的属性

        

    简单类型和复杂类型的区别

      基本类型又叫做值类型,复杂类型又叫做引用类型

      值类型:简单数据类型,基本数据类型,在存储时,变量中存储的是值本身,因此叫做值类型。

      引用类型:复杂数据类型,在存储是,变量中存储的仅仅是地址(引用),因此叫做引用数据类型。

      堆和栈

        

       注意:JavaScript中没有堆和栈的概念,此处我们用堆和栈来讲解,目的方便理解和方便以后的学习。 

      基本类型在内存中的存储

      

      复杂类型在内存中的存储

      

      基本类型作为函数的参数

       

      复杂类型作为函数的参数

      

       

       思考:

    //1. 
    var num1 = 10;
    var num2 = num1;
    num1 = 20;
    console.log(num1);
    console.log(num2);
    
    //2. 
    var num = 50;
    function f1(num) {
        num = 60;
        console.log(num);
    }
    f1(num);
    console.log(num);
    
    //3. 
    var num1 = 55;
    var num2 = 66;
    function f1(num, num1) {
      num = 100;
      num1 = 100;
      num2 = 100;
      console.log(num);
      console.log(num1);
      console.log(num2);
    }
    
    f1(num1, num2);
    console.log(num1);
    console.log(num2);
    console.log(num);

      内置对象

        JavaScript中的对象分为3种:内置对象、浏览器对象、自定义对象

        JavaScript 提供多个内置对象:Math/Array/Number/String/Boolean…

        对象只是带有属性和方法的特殊数据类型。

        学习一个内置对象的使用,只要学会其常用的成员的使用(通过查文档学习)

        可以通过MDN/W3C来查询

        内置对象的方法很多,我们只需要知道内置对象提供的常用方法,使用的时候查询文档。

    MDN

      Mozilla 开发者网络(MDN)提供有关开放网络技术(Open Web)的信息,包括 HTML、CSS 和万维网及 HTML5 应用的 API。

        MDN

        通过查询MDN学习Math对象的random()方法的使用

    如何学习一个方法?

      1.方法的功能

      2.参数的意义和类型

      3.返回值意义和类型

      4.demo进行测试

    Math对象

      Math对象不是构造函数,它具有数学常数和函数的属性和方法,都是以静态成员的方式提供跟数学相关的运算来找Math中的成员(求绝对值,取整)

      演示:Math.PI、Math.random()、Math.floor()/Math.ceil()、Math.round()、Math.abs() 、Math.max()

       

      案例

        求10-20之间的随机数

        随机生成颜色RGB

        模拟实现max()/min()

    Date对象

      创建 Date 实例用来处理日期和时间。Date 对象基于1970年1月1日(世界标准时间)起的毫秒数。

      

       获取日期的毫秒形式

      

       日期格式化方法

      

       获取日期指定部分

      

      案例

        写一个函数,格式化日期对象,返回yyyy-MM-dd HH:mm:ss的形式

        

       计算时间差,返回相差的天/时/分/秒

        

    Array对象

      创建数组对象的两种方式

        字面量方式

        new Array()

        

       检测一个对象是否是数组

        instanceof

        Array.isArray() HTML5中提供的方法,有兼容性问题

        函数的参数,如果要求是一个数组的话,可以用这种方式来进行判断

      toString()/valueOf()

        toString() 把数组转换成字符串,逗号分隔每一项

        valueOf() 返回数组对象本身

      数组常用方法

        演示:push()、shift()、unshift()、reverse()、sort()、splice()、indexOf()

        

       清空数组

          

      案例

        将一个字符串数组输出为|分割的形式,比如“刘备|张飞|关羽”。使用两种方式实现

        

         将一个字符串数组的元素的顺序进行反转。[“a”, “b”, “c”, “d”] -> [ “d”,“c”,“b”,“a”]。使用两种种方式实现。提示:第i个和第length-i-1个进行交换

        

         工资的数组[1500, 1200, 2000, 2100, 1800],把工资超过2000的删除

        

         [“c”, “a”, “z”, “a”, “x”, “a”]找到数组中每一个a出现的位置

        

         编写一个方法去掉一个数组的重复元素

        

    基本包装类型

      为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String/Number/Boolean

      

       

    String对象

      字符串的不可变

        

       创建字符串对象

        

       字符串对象的常用方法

        字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串

            

      案例

        截取字符串"我爱中华人民共和国",中的"中华"

        

         "abcoefoxyozzopp"查找字符串中所有o出现的位置

        

         把字符串中所有的o替换成!

        

         判断一个字符串中出现次数最多的字符,统计这个次数

        

  • 相关阅读:
    【转】HTML5的小知识点小集合
    11月15日下午 ajax返回数据类型为XML数据的处理
    11月15日下午 用代码操作文件(文件夹)
    11月15日上午文件上传
    11月14日用AJAX、PHP、SESSION做购物车
    各种进位制转换
    11月13日上午ajax返回数据类型为JSON数据的处理
    11月13日上午省、市、区(县)三级联动
    11月10日下午 ajax做显示信息以后用ajax、Bootstrp做弹窗显示信息详情
    11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
  • 原文地址:https://www.cnblogs.com/wk-missQ1/p/13332049.html
Copyright © 2020-2023  润新知