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,存在返回起始位置 -
sliceslice(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,123toString()同无参数join
push(a)和pop():添加或删除数组(从右边)shift(a)和unshift():添加或删除数组(从左边)