TypeScript基本功练习// 默认值 var a1 = (arg1?) => arg1; console.log(a1())

1.箭头函数

var a1 = item => item + 10;
var a2 = a1(20);
console.log(a2);

var a3 = (arg1, arg2) => arg1 + arg2;
console.log(a3(20, 30))


function startTimer() {
    this.name = 30;
    setTimeout(() => {
        console.log(this.name)
    },1000)
}
startTimer()

2.for of

1.可以使用break;

2.可以过滤属性

3.for of遍历的值是 键值对中的 “值”,而for in 遍历的是键值对是的 “

4.只能是数组,不能是对象

5.其他:for in 与forEach不能使用break;forEach只能是数组,过滤属性,for in 不过滤属性

// var arr: number[] = [4, 5, 6, 7, 8, 9];
var arr: Array<number> = [4, 5, 6, 7, 8, 9];
for (let item of arr) {
    if (item >= 7) {
        break;
    }
    console.log(item)
}

3.指定参数默认值,指定类型,可变数组

// 默认值
var a1 = (arg1 = 20, arg2 = 30) => arg1 + arg2;

console.log(a1(49))

var a2 = (arg1:Number|String, arg2:Number|String, argEnd:Number = 100, ...params:Array<Number>) => {
    console.log(arg1)
    console.log(arg2)
    console.log(params)
}

a2(1, 2, 3, 4, 5, 6, 7)
a2(22,33)

4.可选参数

// 默认值
var a1 = (arg1?) => arg1;
console.log(a1())

 

private async parseMaterial(osgStateSet: any) { let material = new THREE.MeshBasicMaterial({ // side: THREE.DoubleSide, }); //THREE.FrontSide 背面 // THREE.BackSide 前面 // THREE.DoubleSide 双面 let osgImage = osgStateSet.TextureAttributeList[0].value.StateAttribute.Image; // let texture = this.parseImage(osgImage); let fileName = osgImage.Name; const isJPEG = fileName.search(/.jpe?g($|?)/i) > 0; const isPNG = fileName.search(/.png($|?)/i) > 0; if (!isPNG && !isJPEG) { return; } let mimeType = isPNG ? 'image/png' : 'image/jpeg'; let imageUri: any = new Blob([osgImage.Data], { type: mimeType }); let base64 = await this.blobToBase64(imageUri); // debugger let imageUrl: any = URL.createObjectURL(imageUri); try { let texture = new THREE.TextureLoader().load(base64, () => { texture.needsUpdate = true; // texture.format = THREE.RGBAFormat; texture.type = THREE.UnsignedShort5551Type; texture.minFilter = THREE.LinearMipmapNearestFilter; texture.magFilter = THREE.LinearMipmapNearestFilter; texture.generateMipmaps = false; // texture.format = THREE.RGBAIntegerFormat; // texture.minFilter = THREE.NearestFilter; // texture.magFilter = THREE.NearestFilter; // texture.minFilter = THREE.LinearMipMapLinearFilter; // texture.magFilter = THREE.LinearFilter; // texture.wrapS = THREE.RepeatWrapping; // texture.wrapT = THREE.RepeatWrapping; // texture.anisotropy = 1; // texture.generateMipmaps = false; // texture.encoding = THREE.sRGBEncoding; }); imageUri = null; osgImage = null; imageUrl = null; if (texture) { material.map = texture; } } catch (e) { console.log('纹理加载出错', e); } osgStateSet = null; return material; } private blobToBase64(blob: any) { return new Promise((resolve, reject) => { const fileReader = new FileReader(); // readAsDataURL fileReader.readAsDataURL(blob); fileReader.onload = (e: any) => { resolve(e.target.result); }; }); }没有显示base64图片的纹理,也没有报错,请找出问题,并给出详细代码
06-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值