js基础随记

数组:[ 1,2,3]

对象:{a,b,c}

布尔值:true(false)

{

“aaa”:"111" // 111是字符串,aaa是字符名

a:true, //true是布尔值,a是变量

a:1, //1是num

}

Math.round和Math.random取得随机数

Math.round和Math.random取得随机数_百度知道icon-default.png?t=N7T8https://zhidao.baidu.com/question/90728507.html?fr=iks&word=Math.round%28Math.random%28%29%2A7%29&ie=gbk

图片随机,例如1-2之间随机

var prize
prize=Math.floor((Math.random()*2)+1);
console.log("奖品:"+prize)
var Img = "img/jiang"+prize+".png"
$(".p2_03").click(function(){
	$(".jiang").attr("src",Img);
})

//判断数字是整数

var a = 3

a % 1 != 0  //变量除以1不余0

//取小数点后两位

var a = 7.119265;
console.log(a.toFixed(2))

//es6 const {aa} = this;

vue 中的 const {XXX } =this 的含义_流楚丶格念的博客-CSDN博客

//js防止连点

 

//倒计时到期JS 

//比较日期最佳方案就是比较时间戳(字符串格式)ios端识别日期不能带-,需要更改为/

 //html

<span style="color: red;" id="_time"></span>
    <div class="zhezhao_div" style="width: 100%;height:100vh;top: 0;left: 0;background-color: antiquewhite;position: absolute;display: none;"></div>

//js部分 

//zhy
        var timeOut = 1000;
        var compareTime = "2022-12-10 00:00:01";
        var compareTime = new Date(compareTime.replace(/-/g,"/"));
        var timestamp2 = (new Date(compareTime)).getTime(); //比较时间
        setInterval((item,index) => {
            var getTime =  (new Date()).Format("yyyy/MM/dd hh:mm:ss")
            var timestamp1 = (new Date(getTime)).getTime(); //现在时间
            console.log(timestamp2);
            if(timestamp1 < timestamp2){
                $(".zhezhao_div").hide();
            }else{
                $(".zhezhao_div").show();
            }
        }, timeOut);
        
         Date.prototype.Format = function (fmt) { //author: meizz 
            var o = {
                "M+": this.getMonth() + 1, //月份 
                "d+": this.getDate(), //日 
                "h+": this.getHours(), //小时 
                "m+": this.getMinutes(), //分 
                "s+": this.getSeconds(), //秒 
                "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
                "S": this.getMilliseconds() //毫秒 
            };
            if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
            for (var k in o)
                if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
            return fmt;
        }

//在html页面之中显示日期

//若不加windows.onload 方法,在页面中不能显示时间
         window.onload = function () {
            var _time = document.getElementById("_time");
            var date = new Date();
            _time.innerHTML = date.toLocaleString();
        }
        //若注释掉这个方法,控制台会报这个错误:_setTime is not defined
        function _setTime() {
            var _time = document.getElementById("_time");
            var date = new Date();
            _time.innerHTML = date.toLocaleString();
            
        }
        var interval_id = window.setInterval("_setTime()", 1000);
        // console.log(interval_id);


//jq控制页面初始化之后的滚动条位置

window.onload = function(){
				    console.log($('#scroll_div')[0].scrollWidth);
				$('#scroll_div').scrollLeft($('#scroll_div')[0].scrollWidth/2.6) //横向滚动条
			}

js控制横向滚动条位置_hy3528的博客-CSDN博客_js横向滚动指定位置

//汇总对象中所有的属性形成一个数组

let data = {name:"a",age:1}

//创建一个监视的实例对象,用于监视data中属性的变化
const obs = new oBserver(data)

function oBserver(obj){
    const keys = Object.keys(obj)
}

// js生成数组里面的对象 并随机打乱

function addcard(){ //生成数组
	 card_arr = [];
	for(i=1;i<=39;i++){
			var obj = {'id':i,'img':"img/card1.png",'type':0,'name':'天使'+'·'+'正位'+i}
			card_arr.push(obj)
	}
	for(i=40;i<=78;i++){
			var obj = {'id':i,'img':"img/card2.png",'type':1,'name':'天使'+'·'+'逆位'+i}
			card_arr.push(obj)
	}
	card_arr = shuffle(card_arr)
}

function shuffle(array) { // 洗牌函数 随机打断数组排序
	let newArr = array.slice()  // 不改变原数组,将数组剪切一份给newArr
	for (let i = 0; i < newArr.length; i++) {
		const j = getRandomNum(0, i)
		const temp = newArr[i]
		newArr[i] = newArr[j]
		newArr[j] = temp
	}
	return newArr
}

// js抽取数组里面的对象并删除原数组里面的抽取对象形成新的数组

function selectCard(count,time){
	var card_show_arr = [];
	// if(tempArray.length >= 3){
	// 	return false;
	// }
	var push_obj = card_arr[getRandomNum(0, card_arr.length - 1)]; 
	tempArray.push(push_obj);
	card_arr = card_arr.filter((item,index)=>{
	    return item.id !== push_obj.id
	})
	// console.log(card_arr,"card_arr");
	// console.log(tempArray,"tempArray");
	card_show_arr = tempArray;
	console.log(card_show_arr,"card_show_arr");
	setTimeout(function(){
		$(".card"+count).attr("src",card_show_arr[count-1].img)
		$(".card_text"+count).fadeIn(time)
		$(".card_text"+count).text(card_show_arr[count-1].name)
	},time);
}

//jq只点击一次(类似vue的@click.once)

$("p").one("click", function() { 
     $(this).animate({ 
         fontSize: "+=14px" 
      }); 
});

//获取当前body的屏幕宽度

if(document.documentElement.clientHeight>723){
                console.log("iponeX以上");
                $(".r1").css("top","63.5%")
                $(".r2, .r3, .r4").css("top","26.8%")
                $(".r5, .r6").css("top","36.5%")
                $(".r7").css("top","37.4%")
                $(".r8").css("top","32%")
                $(".r9").css("top","35.2%")
}  

//js控制滚动条到指定位置js-点击按钮页面滚动到顶部,底部,指定位置icon-default.png?t=N7T8https://www.likecs.com/show-308039050.html

// js原生select选择框代码 

<select id="select_limit" class="po-ab">
							     <option value="1">全部 </option>
							 <option value="2">黑名单 </option>
							 <option value="3">白名单</option>
						</select>

//获取选择框改变的值
$("#select_limit").change(function() {
		localStorage.setItem("limit",$('#select_limit').val());
		gotopage()
	});


js 获取select的值 / js动态给select赋值icon-default.png?t=N7T8https://www.cnblogs.com/renrsh/p/6725999.html

//  在另外一个窗口打开下载

Window open() 方法 | 菜鸟教程

function open_win() {
    window.open("https://www.runoob.com");
}

//jq实现侧边栏点击回底部点击回顶部

JavaScript实现回到顶部/底部的两种方法_js回到底部_henouren的博客-CSDN博客

//js简单数组去重 

//去重
let arr = [9,12,9,16,10,13];
let item = [...new Set(arr)];
console.log(item); //  [9, 12, 16, 10, 13]

key:value 前面是键名,后面是键值
//键值 
let arr = [9,16,88,10,15];
let sum = 0;
for(item of arr){
    sum += item;
}
138

forEach、for in、for of三者区别:
  forEach更多的用来遍历数组
  for in 一般常用来遍历对象或json
  for of数组对象都可以遍历,遍历对象需要通过和Object.keys()
  for in循环出的是key,for of循环出的是value

//js对象数组中按 id 查找对象

let e_value = 1
let index =  items.findIndex(x => x.id == e_value);

//js 数组的增加 减少 去重

/*删除数组中的某一个对象
        _arr:数组
        _obj:需删除的对象
        */
    removeAaary:function(_arr, _obj) {
        var length = _arr.length;
        for (var i = 0; i < length; i++) {
            if (_arr[i] == _obj) {
                if (i == 0) {
                    _arr.shift(); //删除并返回数组的第一个元素
                    return _arr;
                }
                else if (i == length - 1) {
                    _arr.pop();  //删除并返回数组的最后一个元素
                    return _arr;
                }
                else {
                    _arr.splice(i, 1); //删除下标为i的元素
                    return _arr;
                }
            }
        }
    },
    //js 去重
    Deduplicate:function(arr){
        var newarr = []
        for (var i = 0; i < arr.length; i++) {
            if (newarr.indexOf(arr[i]) === -1) {
                newarr.push(arr[i])
            }
        }
        return newarr;
    }

//增加
           that.data.pay_info.push(item)





item是循环遍历出来的object、
arr.forEach((item,index)=>{
})

//jq  jquery改变当前元素的样式,同时移除其它兄弟元素的样式 

jquery改变当前元素的样式,同时移除其它兄弟元素的样式_jquery 改变当前元素样式_芒果芒果丶的博客-CSDN博客

//js防抖(防止多次点击es6语法版本)

let timer:any

function aa(){

    clearTimeout(timer)
    timer = setTimeout( () => {
        timer = null;
    },500)
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值