0


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

ES5:严格模式

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

ES6:强弱语言。

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

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

开启严格模式

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

严格模式的规范

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

2、不允许函数形参同名

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

严格模式的好处

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

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

this关键字的5种使用场景

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

  1. console.log(this);

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

  1. functionfn(){
  2. console.log(this);}fn()

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

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

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

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

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

  1. var ob={
  2. name:'张三',
  3. age:12,
  4. play:function(){}}
  5. ob.play()

字符串

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

根据下标查找数据

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

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

  1. var a='ahafakflajf'
  2. a[0]='e'

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

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

遍历字符串翻转输出

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

字符串比较

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

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

  1. //取出第一个字符比较大小,相等就各自的第二个字符比较大小
  2. console.log('2'>'19')//true//根据ACS11码(128个)比较大小
  3. console.log('a'>'b')//false//汉字比较,由Unicode码决定
  4. console.log('我'>'你')//true

ASCII对照表

  1. 相应ASCII码:
  2. 0-948~57
  3. A-Z65~90
  4. a~z97~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));//Cddaconsole.log( str.substr(2));//Cddaadafafavssds 第二个数没有,默认截取到结尾
  • subString(开始下标,结束下标) substring 用负数表示下标,会转成0var str ='ABCddaadafafavssds'console.log( str.subString(2,4));//Cdd (包前不包后)console.log( str.subStringr(2));//Cddaadafafavssds 第二个数没有,默认截取到结尾

数字处理(Math)

Math是js内置的一个对象

math属性

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

math方法:

获取随机数random

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

获取0-10之间的随机数

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

获取0-100之间的随机数

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

获取20-120之间的随机数

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

获取20-100之间的随机数

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

获取指定范围的随机数

  1. // 封装functionrad(a,b){returnparseInt(Math.random()*(b-a))+a
  2. }var a=rad(20,30)//30 40 不能 40 30
  3. console.log(a)// 优化functionrad(a,b){var max=a
  4. var min =b
  5. if(b>a){
  6. max=b
  7. max=a
  8. }returnparseInt(Math.random()*(max-min))+ min
  9. }var a=rad(30,20)
  10. console.log(a)

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

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

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

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

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

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

绝对值 Math.abs

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

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

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

开根号:Math.sqrt()

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

最大值 :Math.max()

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

最小值: Math.min()

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

正弦: Math.sin(x)

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

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

余弦:Math.cos(x)

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

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

日期时间Data()

创建日期对象

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

获取时间日期

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

获取年份 getFullYear()

  1. var data=newDate()var year = date.getFullYear()
  2. console.log(year);

获取月份 getMonth()

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

获取日 getDate()

获取星期 getDay()

获取时 getHours()

获取分钟 getMinutes()

获取秒 getSeconds()

获取毫秒 getMilliseconds()

获取时间戳 getTime()

设置时间

语法:

  1. 时间对象.set[年/月/日](参数)
  2. 例子:date.setFullYear(2024)

设置年 setFullYear()

  1. var date =newDate()// 获取到当前时间对象
  2. console.log(date);
  3. date.setFullYear(2024)
  4. console.log(date);

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

  1. //接上面获取当前时间对象var date =newDate()// 获取到当前时间对象
  2. console.log(date)
  3. date.setMonth(7)//8月//后面也是一样设置就不重复了

设置日 setData()

设置时 setHours()

设置分 setMinutes()

设置秒 setSeconds()

设置毫秒 setMilliseconds()

设置时间戳 setTime()

创建日期对象里的参数

字符串参数

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

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

  1. var data =newDate(2022,10,1,8,59,1);consolelog(data)

时间戳参数

  1. var data =newDate(0);consolelog(data)

获取时间戳

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

2、在new前面放+

  1. var data =+newData()
  2. console.logo(data)

3、在构造函数中,

  1. vara=functionparse('2022-3-18 23:13:01')
  2. console.logo(a)

格式化输出时间

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

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


本文转载自: https://blog.csdn.net/weixin_51346866/article/details/123587257
版权归原作者 Yan阿清 所有, 如有侵权,请联系我们删除。

“前端学习-JavaScript基础(严格模式、math、字符串)”的评论:

还没有评论