JavaScript学习笔记 .2——主要类型

134 阅读2分钟

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

Javascript——动态类型语言

  • JavaScript也是有对象类型的,但是它的对象和cpp语言不一样,可以即时创建
let cat = { name : 'miao', breed : 'evolonation' };
cat.name;
  • js是动态类型语言,这意味着你可以:
let a = '500'; // oops, this is still a string
a = 500; // much better — now this is a number
  • 另外,js使用typeof运算符来返回字符串形式的变量类型

这三个特点就决定了js的灵活性,当然还是要接受其性能的损失。

另外,js有一个独特的运算符:

  • 使用**运算符求幂(老版本使用Math.pow())

=====

==!=测试值是否相同, 但是数据类型可能不同,而严格版本===!==测试值和数据类型是否相同。因此后者的版本更加安全,建议经常使用后者的版本。


字符串

  • 字符串用'或者用"包起来几乎没有区别,但是假如字符串中不能含有相同的引号,必须用转义字符。
    let str1 = 'Would you eat a fish?';
    let str2 = 'I've got BUAA';
  • 字符串与数字相加会自动将数字转换为字符串
  • 数字与字符串之间的转换

    数字转字符串:toString()成员方法
    字符串转数字:Number(string)函数

有用的字符串方法和属性

  • length属性:返回字符串长度(不包括终止符,谨此提示C语言玩家

  • []方法检索特定字符(返回的类型仍然是字符串)

  • indexOf(String):查找是否存在字串,不存在返回-1,存在返回起始位置

  • slice

    • slice(a,b)返回索引a~b-1的子字符串
    • slice(a)则返回从a到结束的子串
    • slice的负值索引功能:
      var str = 'The morning is upon us.';
      str.slice(-3);     // 返回 'us.'
      str.slice(-3, -1); // 返回 'us'
      str.slice(0, -1);  // 返回 'The morning is upon us'
      
  • toLowerCase():全部小写

  • toUpperCase():全部大写

  • replace(str1,str2)替换子串

注意以上三个方法返回变化后的字符串,而不会改变该字符串本身。

数组

  • 使用[]而不是{}来创建数组
  • 数组中的元素的类型可以是任意的
    let random = ['tree', 795, [0, 1, 2]];
  • length属性:返回数组长度
  • 数组和字符串的转换:
    • split(str)根据给定的分隔符(str)分割字符串变成数组;
    let str="str1,astr2,a";
    let arr=sstr.split(",a");
    //arr===['str1','str2','']
    
    • join(str)方法将数组中的字符串通过给定分隔符合并为字符串,没有参数时用','分割
    let arr=['str1','str2',123];
    let str=arr.join(',');
    //str==='str1,str2,123
    
    • toString()同无参数join
  • push(a)pop():添加或删除数组(从右边
  • shift(a)unshift():添加或删除数组(从左边