学习目标
- 字符串
- 函数
string对象的方法
length 获取字符串的长度(属性)
charAt() 从字符串的下标开始 获取对应的值 不修改原数据
- var str = new String(“我爱你你爱我”)
- console.log(str.charAt(1));
concat(b) 把字符串拼接到a 或者用+进行拼接
console.log(str.charAt(1));
var str2= str.concat("我是傻瓜");
document.write(str)
document.write(str2)
replace 替换 不会改变原来数据
❤️
var str3='我是一位学生,能够白嫖吗!学生';
var str4= str3.replace(/学生/,'小姐姐');
var str4= str3.replace(/学生/g,'小姐姐'); //所有的
console.log(str3);
console.log(str4);
split 分割字符串 不会改变原来数据
❤️
var str5='a-b-c-d-e-f-g';
var str5arr=str5.split('-');
优化版
var str7= str6.split('').reverse();
indexOf('L') 找到第一个L的下标
var str8='hello world';
var index1=str8.indexOf('h');
charAt(n) 查找下标为n,的字符串中的字符
str8.charAt(1);
substr(a,b) 截取字符串 从哪个(a)下标开始 截取几个(b) 不写默认截取后面所有 substr(a)
var type=url.substr(index+1);
var tt=url.substr(3,5); 从下标3 后推5个
⭐如何实现获取文件的类型⭐
- 获取最后一个点
var index=url.lastIndexOf('.');
- 字符串截取
var type=url.substr(index+1);
toUpperCase() 字符串转大写
- console.log(str.toUpperCase());
toLowerCase() 字符串转小写
- console.log(str.toLowerCase());
练习 :字符串首字符大写
//只以str[0] 为代表
var str1='hello-world-bb-cc';
var strarr=str1.split('-');
var st=strarr[0].substring(0,1).toUpperCase()+strarr[0].substr(1);
var str=strarr.join('');
Math对象⭐
Math.ceil(number) 向上取整 X轴右侧的数字
var num=-34.1;
var num2=Math.ceil(num);
Math.floor(number) 向下取整
- `Math.round(number) 四舍五入取整
Math.random() 生成随机数0-1
实例 `Math.round(Math.random()*10);` 取整0-10
数组增强⭐
for-of 取值
for(var item of arr){
console.log(item);
}
for-in 取下标
for(var item in arr){
console.log(arr[item]);
}
arr.filter 过滤器
var arr2 =arr.filter(function(item){
return item<20;
});
⭐通过 Boolean(X) 可以判断是否是有效值 ⭐ null 0 false undefined NaN 都是false⭐
var arr3=['123',2,3,4,'年后',undefined,false,null,0,NaN];
var arr4=arr3.filter(function(item){
return Boolean(item);
})
函数 ⭐
function 函数名(){
方法体
};
- 系统函数
parseInt(number) 保持整型
parseFloat(3.123123) 保持浮点类型
isNaN(number) 是否是number
- 自定义函数
方法调用
事件:function 方法名(形参){
}
funciton show(){ };
元素.事件=方法名; 🎶 属于赋值 不带括号
btu.click=show;
匿名函数
var fn=function(参数1,参数2){ 方法体 }
缺乏函数名 赋值方式进行使用
console.log(fn)
或者 fn();
自执行函数 缺点是不能重复使用
(var fn= function(){ })();
(var fn= function(a){ })('hhhh');
返回值
console.log(fn);
console.log(fn());
面试题:打印函数名带括号与函数名不带括号的区别⭐⭐⭐
总结:
打印函数二者的区别
- 打印函数名不带括号 调用的是 函数本身 log(fn)
- 打印函数名加括号 调用的是 函数的返回值 log(fn())
- 没有返回值 打印函数带括号:函数体执行一遍 打印的是undefined
调用函数二者的区别 :
- fn; 不起作用
- fn(); 把执行体执行了一遍
函数体 return 之后的数据不在执行 ⭐