js知识点

目录

1 数组长度 

2 遍历数组下标与数组元素

 箭头函数 =>

map函数

禁用浏览器的返回事件

字符串替换 replace

获取浏览器宽高

阻止事件冒泡

超出高度的内容,显示滚动条

浏览器最大化,最小化时,更新echarts

echarts的图例设定为指定的图片



1 数组长度 

var arr =[1,2,3,4]  

arr.length  =>4

arr[10] =1;

arr.length => 11;

数组长度为最大下标+1 ,如果对应下标没有值,则为undefined;

2 遍历数组下标与数组元素

var arr =[1,2,3,4];
arr[10] =4;
console.log(arr.length);
console.log(arr[88])
for( var v in arr){
    console.log(v); //得到的是下标

console.log(arr[v]);//得到内容
}
for( var v of arr){
    console.log(v); //得到的是内容
}
}

得到结果:

但是for in效率比较低, 所以还是推荐使用for循环即可

for(j = 0,len=arr.length; j < len; j++) {
   
}

 箭头函数 =>

箭头函数相当于匿名函数,并且简化了函数定义。

(参数1, 参数2, …, 参数N) => { 函数声明 }

//相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; }
(参数1, 参数2, …, 参数N) => 表达式(单一)

// 当只有一个参数时,圆括号是可选的:
(单一参数) => {函数声明}
单一参数 => {函数声明}

// 没有参数的函数应该写成一对圆括号。
() => {函数声明}

let func = (value, num) => ({total: value * num});  返回对象时,需要使用()将对象包起来

let func = ({value, num}) => ({total: value * num})

let func = (value, num) => value * num;

map函数

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

map() 方法按照原始数组元素顺序依次处理元素。

注意: map() 不会对空数组进行检测。

注意: map() 不会改变原始数组。

var numbers = [65, 44, 12, 4];

numbers.map(num => num+'f'); //65f,44f,12f,4f

 

播放flash 

<embed
	src={d.link} // 地址
	play="true"
	loop="false"
	quality="high"
	pluginspage="http://www.macromedia.com/go/getflashplayer"
	type="application/x-shockwave-flash"
/>

播放MP4

<video controls="controls">
	<source src={d.link} type="video/mp4" />
	您的浏览器不支持video标签
</video>

禁用浏览器的返回事件

  react 

   if(logined) {

// 设置禁用浏览器的返回
            history.pushState(null, null, location.href);
            window.onpopstate = function (event) {
                history.go(1);
            };

 

效果: 点击回退按钮,什么也不会发生

字符串替换 replace

let str = abcde-f-a b cdef;

str.replace('-', 1); // 只会替换第一个查找到的元素将- 替换为1
如果需要替换多个,则需要使用正则
str.replace(/-/g, 1); 其中 /是转义字符 /- 就是-,是要被替换的内容 /g就是g,表示替换整个字符串
也可以拆分为数组然后再重新组合
str.split('-').join('1')

获取浏览器宽高

网页可见区域宽

document.body.clientWidth

 

阻止事件冒泡

 事件冒泡 :当一个元素接收到事件的时候 会把他接收到的事件传给自己的父级,一直到window

在onclick事件中根据情况时使用,可以阻止事件冒泡(在子类不希望传递给父类)

react

  e.nativeEvent.stopImmediatePropagation();

js

        e.stopPropagation();

 

超出高度的内容,显示滚动条

设置css

 overflow: scroll;

 

浏览器最大化,最小化时,更新echarts

import echarts from 'echarts';
import 'echarts/lib/chart/line';
...

let myChart = echarts.init(document.getElementById('mycharts'));

            window.onresize = function () {

                myChart.resize();

            };

 

echarts的图例设定为指定的图片

其中icons是二进制的图片, 可以在 http://tool.c7sky.com/datauri/ 网站进行转换

const icons = [
    'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAjCAIAAABpW9/5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAC2SURBVFhH7ZUxCgIxFET/RNhGRBYLD2Kj1ttZi6WFiI2VjWDrNbWysREs1ribxcSAOcP8wjwmRaZ5JHwSVOercHl3spoAxfqSChauldPCYLBhn7hu5Vh9TNoRAVC/LPq7eypYWGf20wfGs0MqWNim2y7nRtAjJyBKTVxgR2JEYbh+ZDGNLKbxb2LE14tO/J0651TEpnneVK46hKJUEHvvh+VIZ7iC9zriSBbTyGIaWUwji0mIfAHXHimY/MnSdAAAAABJRU5ErkJggg==',
    'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAjCAIAAABpW9/5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAABKSURBVFhH7c2hDQAgDAVRVkGg2H8+EMVBCOoquOZM88UrrfaUhLGEsYSxhLHy4HG62Naz3WV9nz6E4+cTxhLGEsYSxhLG+g2ufQJE316muxGYmgAAAABJRU5ErkJggg==',
    'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAIAAAADnC86AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAA4SURBVFhH7c0xEQAgDAAx/FRAZeDfDS6eJXfZc+7sF+KMOCPOiDPijDgjzogz4ow4I86IM+LI7AOSzFJ9ntutcgAAAABJRU5ErkJggg=='
];
 let legendData = [{
	name: '真实数据',
	icon: `image://${icons[0]}`
},
{
	name: '估计数据',
	icon: `image://${icons[1]}`
},
{
	name: '低容量时期',
	icon: `image://${icons[2]}`
}];

myChart.setOption({
	legend: {
		data: legendData,
		textStyle: {
			color: '#FFFFFF'
		},
		bottom: 0
	}
}

效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hero_孙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值