2020-10-28数据类型

案例:求某个字符出现的位置次数;

  1. 核心算法:先查找第一个o出现的位置
  2. 然后只要indexof返回的结果不是-1就继续往后查找,
  3. 利用第二个参数,当前索引加1,从而继续查找
     var str = 'abcdojufohrsdjscao';
            var index = str.indexOf('o');
    
            //查找第一个o的位置
            var num = 0;
            while (index !== -1) { //当找不到之后就直接返回了
                console.log(index);
                num++;
                index = str.indexOf('o', index + 1);
            }
            console.log('o出现的次数是' + num);
    /*4
    text.html:15 8
    text.html:15 17
    text.html:19 o出现的次数是38*/

    根据位置返回值字符:

 

 

 

 


        //charAt(index)根据位置返回字符
        var str = 'andy';
        var chord = str.charAt(3);
        console.log(chord);
        //遍历字符串
        for (var i = 0; i < str.length; i++) {
            console.log(str.charAt(i));
        }
        //charCodeAt(index)  返回相对索引号的字符AS11值,目的,判断用户按下了哪个键
        console.log(str.charCodeAt(0)); //97   是a的ASII码
   

 案例:返回出现次数最多的字符

  1. 核心算法:利用charAt()遍历字符串
  2. 把每个字符都存储给对象,如果对象没有该属性,就为1,如果存在了就+1
  3. 遍历对象,得到最大值和该字符
 //判断一个字符串中出现次数最多的字符,并统计其次数
        var str = 'abdahdjslnadaerofanna';
        var o = {};
        for (var i = 0; i < str.length; i++) {
            var chars = str.charAt(i);
            if (o[chars]) {
                o[chars]++;

            } else {
                o[chars] = 1;
            }
        }
        //遍历对象
        var max = 0;
        var ch = '';
        for (var k in o) {
            //k得到是属性名
            //o[k]得到的是属性值
            if (o[k] > max) {
                max = o[k];
                ch = k;
            }
        }
        console.log(max);
        console.log('最多的字符是' + ch);

 

字符串对象操作办法:

替换字符  

 //替换字符   replace('被替换的字符','替换为的字符')   只会替换第一个
        var str = 'andy';
        console.log(str.replace('a', 'b'));

 splite把字符转换为数组

 var str = 'red$bule$pink';
        console.log(str.split('$'));

toUpperCase//转换为大写   tolowerCase   //转换小写

简单数据类型和复杂数据类型:

学习目标:

  1. 能够说出简单数据类型的内存分配
  2. 能够说出复杂数据类型的内存分配
  3. 能够说出简单类型如何传递参数
  4. 能够说出复杂类型如何 传递参数

学习内容:

  1. 简单类型和复杂类型
  2. 堆和栈
  3. 简单类型的数据分配
  4. 复杂类型的内存分配
  5. 简单类型传参
  6. 复杂类型传参

简单数据类型:在存储时存储的是值本身   string

    number   boolean   undifined  null(返回的 是空对象)

复杂数据类型:通过new关键字创建的对象   如Object  Array   Date

堆和栈   简单数据类型放到栈里面,复杂数据类型首先在栈里面存放地址,用16进制表示,然后地址指向堆里面的数据

简单数据类型传参:

p189

 

 

复杂数据类型传参:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值