JavaScript

1. 初始化数组


如果想要初始化一个指定长度的一维数组,并指定默认值,可以这样:

const array = Array(6).fill(''); // ['', '', '', '', '', '']

如果想要初始化一个指定长度的二维数组,并指定默认值,可以这样:

const matrix = Array(6).fill(0).map(() => Array(5).fill(0));


2. 数组求和、求最大值、最小值

数组求和:array.reduce((a,b) => a+b);

数组最大值:array.reduce((a,b) => a > b ? a : b); Math.max(...array)

数组最小值:array.reduce((a,b) => a < b ? a : b); Math.min(...array)


3.过滤错误值

如果想过滤数组中的false、0、null、undefined等值,可以这样写:

const array = [1, 0, undefined, 6, 7, '', false];

array.filter(Boolean);

// [1, 6, 7]


4.使用逻辑运算符

if(a > 10) { doSomething(a) }

可以改写成a > 10 && doSomething(a)

这样写就会简洁很多,如果逻辑与&&操作符前面的值为假,就会发生短路操作,直接结束这一句的执行;如果为真,就会继续执行&&后面的代码,并返回后面代码的返回值。使用这种方式可以减少很多if...else判断。


5.数字取整

对于数字取整有以下方法等等:

(1)math.floor,math.ceil,math.round

1.Math.round():

小数点后第一位<5
正数:Math.round(11.46)=11
负数:Math.round(-11.46)=-11

小数点后第一位>5
正数:Math.round(11.68)=12
负数:Math.round(-11.68)=-12

小数点后第一位=5
正数:Math.round(11.5)=12
负数:Math.round(-11.5)=-11
总结:(小数点后第一位)大于五全部加,等于五正数加,小于五全不加。

2.Math.ceil():向上取整
例如:
Math.ceil(11.46)=Math.ceil(11.68)=Math.ceil(11.5)=12
Math.ceil(-11.46)=Math.ceil(-11.68)=Math.ceil(-11.5)=-11

3.Math.floor():向下取整
例如:
Math.floor(11.46)=Math.floor(11.68)=Math.floor(11.5)=11
Math.floor(-11.46)=Math.floor(-11.68)=Math.floor(-11.5)=-12

4.使用~~运算符来消除数字的小数部分,它相对于数字的那些方法会快很多

        如果是数字类型的字符串,就会转化为纯数字;如果字符串包含数字之外的值,就会转化为0;如果是布尔类型,true会返回1,false会返回0;

js上传一张图片

 <input type="file" class="file" name="file" />
document.querySelector('.file').addEventListener('change', function(e) {
          //1.可以通过this拿到这个file的DOM元素
          console.log(this)
          //1.  e 函数事件参数对象中也有这个file的DOM元素对象。使用e.target也可以直接拿到
          console.log(e.target)
          //对开发人员屏蔽,所以直接 必须调用这个文件的DOM对象的files属性,返回一个数组
          let files = e.target.files
          console.log(files)
          // 判断是否有文件
          if (!files.length) return
          // 上传文件 创建FormData
          let formData = new FormData()
          // upFile就是后台接收的key
          formData.append('upFile', files[0], files[0].name)
          // 将formdata发送到后台即可
         
        })

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值