前端学习-JavaScript基础(严格模式、math、字符串)

ES5:严格模式

ES5:ECMA语法规范的第五个版本—兼容性最好的。

ES6:强弱语言。

严格模式是js的一种语法,使用这种语法,就开启了严格模式。

全局开启严格模式,可以规范全局的代码;局部开启严格模式,不能约束全局代码。

开启严格模式

'use strict'

'use strict'		//全局开启严格模式
function fn(a,a){
    console.log(a+a)
}
//会报错,严格模式下,参量不能同名

严格模式的规范

1、不允许省略var定义变量

2、不允许函数形参同名

3、不允许普通函数中的this代表window(报underfined)

严格模式的好处

1、让我们的代码更加规范

2、运行效率更高,消除了一些不必要的影响

this关键字的5种使用场景

1、可以全局使用,代表浏览器窗口window

 console.log(this);

2、普通函数中使用,也代表浏览器窗口window

function fn() {
     console.log(this);
    }
 fn()

3、自调用函数中使用,也代表浏览器窗口window

 (function(){
     console.log(this);
 })()

4、在事件中处理程序的函数中可以使用,–代表当前事件触发的事件源

an.onclick = function(){
	console.log(this)
}

5、对象方法使用,代表当前方法的所在的对象

var ob={
	name:'张三',
	age:12,
    play:function(){ 
	}
}
 ob.play()

字符串

以前也简单提过一下字符串,现在了解一下字符串的方法,字符串也跟数组一样可以有下标,以为可以遍历。

根据下标查找数据

var a='ahafakflajf'
console.log(a[1])  //h
console.log(a[2])	//a

原来的字符串,不能被修改

var a='ahafakflajf'
a[0]='e'

字符串长度有长度用length获取

var a='ahafakflajf'
console.log(a.length)

遍历字符串翻转输出

var str='ajlas1dk'
var block=''  //空字符串
for(var i=str.length-1;i>=0;i--){
    block+=str[i]
}
console.log(block)
字符串比较

1、逐字符比较,字符大小由阿斯克码决定的

2、 排在后面的字母更大,小写字母比大写字母更大,字母比数字更大

//取出第一个字符比较大小,相等就各自的第二个字符比较大小
console.log('2'>'19')  //true

//根据ACS11码(128个)比较大小
console.log('a'>'b')  //false

//汉字比较,由Unicode码决定
console.log('我'>'你')  //true
ASCII对照表
相应ASCII码:
0-9:48~57
A-Z:65~90
a~z:97~122

请添加图片描述

字符串方法
  • charAt(下标):通过下标获取指定的字符

    var str = 'abcdfg'
    console.log( str.charAt(2) );  //c
    
  • charCodeAt(下标) :通过下标获取对应ACS11码

    var str = 'abcdfg'
    console.log( str.charCodeAt(2) );   //97
    
  • string.fromCharCode(ASCII): 获取ASC11对应的字符

    var str = 'abcdfg'
    console.log( str.string.fromCharCode(97) );  //a
    
  • indexof:指定从哪个字符开始查找他第一次出现的的下标

    var str = 'abcdfg'
    console.log(str.indexof(a));  //0 
    console.log(str.indexof(1));  //没找到-1
    
  • lastIndexof:查找字符最后一次出现的下标

    var str = 'afbcdfcg'
    var str2 = str.lastIndexOf('f')
    console.log(str2);   //5
    
  • slice(开始下标,结束下标):截取字符串

    var str="adagegehjjdavav"
    //负数,从后面往前数
    var str2=str.slice(-1,-2)  
    console.log(str2)  //v
    
  • split(分隔符):将字符串以指定的分隔符分割字符串成数组

    var str = 'abcadfag'
    console.log( str.split('a') );    //每个元素都不包含指定的分隔符字符
    

    效果:

    请添加图片描述

    var str = 'abcadfag'
    console.log(str.split('a',1));    //1表示保留个数
    

效果:
请添加图片描述

  • trim 去两端空白

    var str = '  abcdfg  '
    console.log( str.trim() );   //'abcdfg'
    
  • trimLeft 去左边空白

    var str = '  abcdfg  '
    console.log( str.trimLeft() );   //'abcdfg  '
    
  • trimRight 去右边空白

    var str = '  abcdfg  '
    console.log( str.trimRight());   //'  abcdfg'
    
  • toUpperCase:字符串中所有字符转成大写字母

    var str = 'abcgA'
    console.log( str.toUpperCase());  //ABCGA
    
  • toLowerCase:字符串中所有字符转成小写字母

    var str = 'ABCdd'
    console.log( str.toLowerCase());   //abcdd
    
  • replace(被替换,替换的内容):把字符串中指定的部分替换成新内容

     var str = 'hi,boy'
     var str1 = str.replace('boy','girl')
     console.log(str1);
    
  • substr(开始下标,截取长度):截取字符串,返回截取出来的字符串

    var str = 'ABCddaadafafavssds'
    console.log( str.substr(2,4));		//Cdda
    console.log( str.substr(2));    //Cddaadafafavssds 第二个数没有,默认截取到结尾
    
  • subString(开始下标,结束下标) substring 用负数表示下标,会转成0

    var str = 'ABCddaadafafavssds'
    console.log( str.subString(2,4));		//Cdd  (包前不包后)
    console.log( str.subStringr(2)); 	 //Cddaadafafavssds 第二个数没有,默认截取到结尾
    

数字处理(Math)

Math是js内置的一个对象

math属性

  // 圆周率
 console.log(Math.PI) 

math方法:

获取随机数random

console.log( Math.random() ) //1以内的随机数

获取0-10之间的随机数

var sum =Math.random()*10
console.log(sum);

获取0-100之间的随机数

var sum =parseInt(Math.random()*100)
console.log(sum);

获取20-120之间的随机数

var sum =parseInt(Math.random()*100)+20
console.log(sum);

获取20-100之间的随机数

var sum =parseInt(Math.random()*80)+20
console.log(sum);

获取指定范围的随机数

//  封装
    function rad(a,b){
        return parseInt(Math.random()*(b-a))+a
    }
    var a=rad(20,30)    //30 40     不能 40 30
    console.log(a)
    

//    优化
    function rad(a,b){
        var max=a
        var min =b
        if(b>a){
            max=b
            max=a
        }
        return parseInt(Math.random()*(max-min))+ min
    }
    var a=rad(30,20)
    console.log(a)

向上取整: Math.ceil(要取整的数字)

var a=3.333
console.log(Math.ceil(a)) //4

向下取整:(只舍弃不是入):Math.floor(要取整的数字)

var a=3.56
console.log(Math.ceil(a))  //3

四舍五入 :结果为整数: Math.round(要取整的数字)

var a=3.56
console.log(Math.round(a))  //4

绝对值 Math.abs

 var a=-2.24
 console.log(Math.abs(a))  //2.24

求次方 Math.pow(底数,幂数)

var num = Math.pow(3, 2)	//3的2次方
console.log(num); 	//9

开根号:Math.sqrt()

var num = Math.sqrt(4)
console.log(num);   //2

最大值 :Math.max()

var a = Math.max(0,3,24,2)
 console.log(a)

最小值: Math.min()

 var a = Math.min(0,3,24,2)
 console.log(a)

正弦: Math.sin(x)

函数返回一个数值的正弦值。x:一个数值(以弧度为单位)

Math.sin(Math.PI / 2); // 1

余弦:Math.cos(x)

函数返回一个数值的余弦值。x:一个数值(以弧度为单位)

Math.cos(Math.PI);     // -1
Math.cos(2 * Math.PI); // 1

日期时间Data()

创建日期对象

var data=new Date()
console.log(data)  //获取现在时间,输出字符串  

获取时间日期

语法:
时间对象.get[年/月/日]()
例子:date.getFullYear() 

获取年份 getFullYear()

var data=new Date()
var year = date.getFullYear()
console.log(year);

获取月份 getMonth()

var data=new Date()
var month = date.getMonth()
console.log(month);
//后面也是这样获取,也不重复了

获取日 getDate()

获取星期 getDay()

获取时 getHours()

获取分钟 getMinutes()

获取秒 getSeconds()

获取毫秒 getMilliseconds()

获取时间戳 getTime()

设置时间

语法:

时间对象.set[//](参数)
例子:date.setFullYear(2024) 

设置年 setFullYear()

var date = new Date() // 获取到当前时间对象
console.log(date);
date.setFullYear(2024) 
console.log(date);

设置月 setMonth() 注意:0-11表示12个月

//接上面获取当前时间对象
var date = new Date() // 获取到当前时间对象
console.log(date)
date.setMonth(7)  //8月

//后面也是一样设置就不重复了

设置日 setData()

设置时 setHours()

设置分 setMinutes()

设置秒 setSeconds()

设置毫秒 setMilliseconds()

设置时间戳 setTime()

创建日期对象里的参数

字符串参数

var data =new Date('2022-10-1 08:59:01');
consolelog(data)

数字参数: 月份要比实际小一

var data =new Date(2022,10,1,8,59,1);
consolelog(data)

时间戳参数

var data =new Date(0);
consolelog(data)

获取时间戳

1、时间日期对象.getTime()

2、在new前面放+

var data =+new Data()
console.logo(data)

3、在构造函数中,

var a=function parse('2022-3-18 23:13:01')
console.logo(a)

格式化输出时间

//获时间对象
var data = new Date()
// 格式化整个年月日时分秒
var str=data.toLocaleString()
console.log(str);
// 格式化年月日
var str1=data.toLocaleDataString()
console.log(str1);
// 格式化时分秒
var str2=data.toLocaleTimeString()
console.log(str2);

热感冒加鼻炎,太难受。就继续复习吧,加油。
在这里插入图片描述

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值