js基础总结

news2025/5/24 2:49:21

js基础总结

  • ajax的post请求中,报错:Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported"
  • 数组和对象获取值的方式
  • 正则去掉特殊字符:【,】,“,”等,可同时处理多个
  • 数组中定位series:[]
  • $.parseJSON
  • 数组对象-取其中的属性值,并给属性值复制
  • 对象提取属性值-形成字符串
  • js只执行一次
  • 字符串转化为数组
  • a标签的href用法
  • 序列化后的参数拼接
  • 子页面调用父页面函数(用来刷新页面)
  • 悬浮失效
  • 对象数组-》提取特定属性后重新组成新的数组:map
  • js替换某个属性名,属性值不变;删除某个属性名和值

ajax的post请求中,报错:Content type ‘application/x-www-form-urlencoded;charset=UTF-8’ not supported"

加两句:
JSON.stringify(param)
contentType: “application/json”,

var param={
    "a":id,
    "b":time,
    "c":remark
}

$.ajax({
    url: "/yy/xxx",
    data:JSON.stringify(param),//
    type: 'post',
    contentType: "application/json",//
    success: function (result) {
        if (result.code == 200) {
            layer.msg("成功!", {icon: 1, time: 1000});
            layer.close(index)
        } else {
            layer.msg(result.msg, {icon: 2, time: 3000});
        }
    }
})

数组和对象获取值的方式

对象的属性可以使用 . 或者 [] ,数组只能使用 [index]

//对象
var obj = {"name":"mm","gender":"man"};
取obj的name值  obj.name  // 结果为mm
上面获取name的值也可以这样写  obj["name"]  //结果为mm

//数组
但对于数组,只能使用括号表示法访问数组元素:
var  list = ["as","bb","ss","ggd"];
访问list中的第三个值写法为: list[2]  //结果为ss ,数组的索引是从0开始的

正则去掉特殊字符:【,】,“,”等,可同时处理多个

//数组先转为字符串,再replace,用 | 处理多个
  let labelName = JSON.stringify(res.data.labelName).replace(/\[|\]|\"/g,"").split(",");
  console.log(res.data.labelName,JSON.stringify(res.data.labelName),labelName,666);

在这里插入图片描述

数组中定位series:[]


labelName= ["THD_Ia", "THD_Ib", "THD_Ic", "HRIa2", "HRIa3"] 
se

$.parseJSON

$.parseJSON() 函数用于将符合标准格式的的JSON字符串转为与之对应的JavaScript对象。

数组对象-取其中的属性值,并给属性值复制


在这里插入图片描述
变为
在这里插入图片描述

let sids = that.data.sids;//获取传感器数据
let sidn = {};
let sensorId = sids.map((item,index)=>{
     sidn[item.id] = item.name;
     return item.id;
 });
 console.log(sids,'sidsss');
 console.log(sidn,'sidn');

对象提取属性值-形成字符串

 let ObjdeviceId = app.globalData.parameterGroup.monitorGroup.selectKey;
 console.log(ObjdeviceId,'ObjdeviceId');
  let strdeviceId = "";
  for (let i in ObjdeviceId) {
      strdeviceId += strdeviceId == "" ? ObjdeviceId[i] : ',' + ObjdeviceId[i];
  }
  console.log(strdeviceId,'strdeviceId');

在这里插入图片描述

js只执行一次

let isShow = true
function execution () {
  if (isShow) {
    console.log('如果我是DJ 你还爱我吗');
    isShow = !isShow
  }
}
execution()  // 如果我是DJ 你还爱我吗
execution()  // 什么都不打印

字符串转化为数组

split不用处理单个字符串的问题,统一可用。如split(“,”),也可以处理单个字符串

  if (stepObj[i].detail[j].orderValue == '') {
        stepObj[i].detail[j]['codeArr'] = [];
	} else {
	     stepObj[i].detail[j]['codeArr'] = stepObj[i].detail[j].orderValue.split(",");
	 }

a标签的href用法

  1. a href = “javascript:;” 含义
    是为了让超链接去执行js函数,点击此超链接时,页面不会进行任何操作,防止跳到其他页面
    点击后,页面不动,只打开连接
其中javascript:是一个伪协议,可以让我们通过超链接去调用javascript函数,但是这个函数为空,所以我们调用的是一个空函数,相当于"javascript:void(0)",并不会发生实质性的改变,同时也可以实现a标签的点击运行,

上述案例中使用 a href = “javascript:;” 完成点击超链接更换验证码的代码实现如下

<body>
    <img id="checkCode" src="/day15/checkCodeServlet"/>
    <!-- 点击超链接换图片 -->
    <a id="change" href="javascript:;"onclick="document.getElementById('checkCode').src ='/day15/checkCodeServlet?dt='+(new Date()).getTime()">
        看不清换一张?
    </a>
</body>

2.a href=“#” 含义
将href=“#“是指连接到当前页面,这是一个锚链接,可以用来访问锚点
a中href=”#top” 表示回到顶部,如果当前页面需要滚动的话,就可以通过这种方式直接回到顶部

<a name="top"></a>
.............
<a href="#top">回到顶部</a> 

3.防止点击链接跳到其他页面的情况

<a href="javascript:void(0)"> </a>
<a href="javascript:void(null)"> </a>
<a href="####"> <a>
<a href ="#" onclick = "return false"> </a>

另外:

第一:href=‘javascript:;’

        代表的是发生动作时执行一段javascript代码,但是这个代码是空的,所以什么也不执行

第二:href = ‘’:

        代表的是什么也不执行,但是用这种,动作发生之后,会刷新页面。

第三:href=‘#’:

        代表的同样是什么也不执行,但是用这种,动作发生之后,会自动跳转到页面顶端。

参考:https://blog.csdn.net/qq_43510714/article/details/90448168
参考:https://blog.csdn.net/yanhuo0414/article/details/89293611?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-89293611-blog-90448168.t5_layer_eslanding_s_randoms&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-89293611-blog-90448168.t5_layer_eslanding_s_randoms&utm_relevant_index=2

序列化后的参数拼接

id=160&name=11111&stationId=16&operationCategory=2&type=102&did=1294&dname=%E8%BE%93%E5%85%A5%E6%A1%86&content=+&type=103&did=1295&dname=%E6%96%87%E6%9C%AC&content=+254234&type=103&did=0&dname=%E6%96%87%E6%9C%AC&content=+
   var backUrlArr = [];
	$(".imgs").each(function(){
		if($(this).val()){
			backUrlArr.push($(this).val())
		}
	})
	data.field += '&backUrl:['+backUrlArr+']';     

子页面调用父页面函数(用来刷新页面)

场景:弹窗(固定页面类型),点击某个按钮,回到父级页面时可用:

父级中js中,最外层:

<script>
    function  reloadFn(){
       window.location.reload()
    }
    ..............
     layui.use(['table', 'form', 'jquery', 'dropdown', 'laydate'], function () {})
</script>

子页面:

success: function (res) {
  if (res.code == 200) {
        layer.msg("提交成功",{icon:1,time:1000})
        window.parent.reloadFn()//调用父级函数刷新
    } else {
        layer.msg(res.msg,{icon:2,time:1000})
    }

}

悬浮失效

当使用hover的时候不起作用时,要查看我们操作的元素是否处于同级状态,我们平时处理的基本上都是父子级的元素,下面是同级的用法:
当使用hover控制同级元素:鼠标浮上box1时box2显示

    <div class="box1">box1</div>
    <div class="box2">box2</div>

解决:

    .box2 {
	    display: none;
	}  
	.box1:hover +.box2 {
	    display: block;
	}

对象数组-》提取特定属性后重新组成新的数组:map

 let arr = [
       {
            id: 1,
            name: 'a',
            age: 1,
        },
        {
            id: 2,
            name: 'b',
            age: 2,
        },
        {
            id: 3,
            name: 'c',
            age: 3,
        },
    ]

  let res=arr.map((item,index)=>{
    return Object.assign({},{'name':item.name,'id':item.id})
  })

    console.log(res, 'res');

在这里插入图片描述

js替换某个属性名,属性值不变;删除某个属性名和值

var datas={
	id: "1",
	searchText: "aaa",
	selectParent_select_input: "bbb"
}
 var datas=JSON.parse(JSON.stringify(data.field).replace(/id/g,'depId')) //替换
 delete datas.selectParent_select_input;  //删除
 
 console.log(datas)//打印得
 datas={
 	depId: "1",
	searchText: "aaa",
 }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1010742.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

投资理财基础知识分享(三)

大家好&#xff0c;我是财富智星&#xff0c;今天跟继续跟大家分享投资理财基础知识&#xff0c;买理财&#xff0c;何时买&#xff0c;何时卖的问题。 一、何时买&#xff1f; 在投资中&#xff0c;决定何时买入资产对于理财新手来说并不是一个应该花费过多精力的问题&#xf…

跟模型和中间层聊聊:什么是最好的AI原生应用?

软件 2.0 注定会发生&#xff1a;所有软件都值得用神经网络重做一遍。 这个 OpenAI 大神 Karpathy 多年前的预言&#xff0c;指向了今天 LLM 应用层的一个关键问题——如何基于 LLM 能力&#xff0c;设计好 AI 原生应用。 我们看到&#xff0c;应用层的创业者们感到悲观、质疑和…

WebDAV之π-Disk派盘 + 网盘精灵

网盘精灵是一款让您的iPhone、iPod和iPad变成WebDAV客户端的软件。它提供了以下功能: 1、WebDAV操作:网盘精灵支持通过WebDAV协议连接到服务器,进行文件的上传、下载和管理操作。您可以使用它连接到WebDAV服务器,方便地进行文件的传输和管理。 2、文件共享:通过网盘精灵…

改造el-dropdown ,实现多选效果,且当选项只剩下一个时,不允许取消

实现效果 实现代码 其中virtual-list是使用的插件,使得下拉数据多的时候,不会出现卡顿 正常不使用虚拟列表的时候可以这样写 <el-dropdown-menu slot"dropdown"><el-dropdown-item v-for"i in item.optionList" :key"i.id" :command&…

面试中常见的算法题和其python实现

在面试中&#xff0c;常见的算法题包括排序算法、查找算法、动态规划、贪心算法等。以下是一些常见算法题及其Python实现示例&#xff1a; 1. 快速排序&#xff08;Quick Sort&#xff09;&#xff1a; 题目描述&#xff1a;给定一个数组&#xff0c;使用快速排序算法对数组进…

亚马逊测评自养号成号率的关键因素及风控策略探讨

什么决定了自养号的成号率&#xff1f;这是测评团队最关心的问题之一 在测评自养号的过程中&#xff0c;除了需要在远程终端建立防火墙来做防关联和指纹浏览器外&#xff0c;干净的国外IP也是至关重要的 IP地址是互联网协议地址的缩写&#xff0c;为每个网络和主机分配一个逻…

WebGL模型视图投影矩阵

WebGL透视投影_山楂树の的博客-CSDN博客中的PerspectiveView代码一个问题是&#xff0c;我们用了一大段枯燥的代码来定义所有顶点和颜色的数据。示例中只有6个三角形&#xff0c;我们还可以手动管理这些数据&#xff0c;但是如果三角形的数量进一步增加的话&#xff0c;那可真就…

如何评估RPA需求?

在当今数字化的商业环境中&#xff0c;RPA&#xff08;Robotic Process Automation&#xff0c;即机器人流程自动化&#xff09;的需求日益增长&#xff0c;因为它能够帮助企业提高效率、减少错误、节省成本&#xff0c;以及提高员工满意度。然而&#xff0c;尽管RPA的潜力巨大…

秋目阅读企划 —— 小K图书推荐(文末赠书)

目录 1、写在前面2、深入理解Java高并发编程3、信息学奥赛一本通关4、文末赠书 1、写在前面 不知道大家有没有和我一样的感受&#xff0c;在发现一本好书的时候&#xff0c;非常想入手&#xff0c;但是奈何囊中羞涩…苦等1024&#xff0c;现在不用等啦~清华大学出版社的秋日阅读…

短剧解说小程序搭建,短剧解说小程序源码

短剧解说小程序搭建&#xff0c;短剧解说小程序源码 可定制开发小程序&#xff0c;H5&#xff0c;APP等系统 有需要可定制可出源码&#xff0c;这个是啥你懂的(VVVVVVVVVVV)&#xff1a;二五四九七八九零五九 需要源码或搭建可看上面的数字信息 短剧解说小程序搭建 小程序使用…

第37章_瑞萨MCU零基础入门系列教程之DAC数模转换模块

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id728461040949 配套资料获取&#xff1a;https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总&#xff1a; ht…

【WFA】【Enhanced open】CT_OWE_DHgroup_STA_NoAssociation-AllGroupsRejected_10338_1

测试报告如下: Fail的关键log: 当连接到ap失败时,驱动程序将尝试连接到ap。如果ap仅支持Group 20,并且sta支持Group 19、20。sta将首先尝试Group 19,ap将通过状态代码77拒绝它。然后驱动程序将尝试连接Group 19的ap,仍然达到最大重试次数。那么sta将尝试第Group 20 。 …

重磅!文晔以38亿美元收购富昌电子 | 百能云芯

文晔微电子股份有限公司&#xff08;文晔科技&#xff09;于9月14日正式宣布已完成对富昌电子公司&#xff08;Future Electronics Inc.&#xff09;100%股权的收购&#xff0c;该交易以全现金方式完成&#xff0c;总交易价值高达38亿美元。 文晔科技的董事长兼首席执行官郑家强…

【案例+操作+演示】20分钟带你入门Pandas,掌握数据分析科学模块,附带上百个案例练习题【含答案】

二十分钟入门pandas&#xff0c;学不会私信教学&#xff01; 有需要pyecharts资源的可以点击文章上面下载&#xff01;&#xff01;&#xff01; 需要本项目运行源码可以点击资源进行下载 资源 #coding:utf8 %matplotlib inline这个一篇针对pandas新手的简短入门&#xff0…

Anaconda安装和配置 ---- 详细到家

安装 1.打开Anaconda官网&#xff0c;选择对应版本,下载到对应目录即可 或者进入: Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 2.双击打开.exe文件&#xff0c;然后点击next ; 3.点击agree 4.点击just me,然后next; 5.在Choose Ins…

C++QT day7

仿照vector手动实现自己的myVector&#xff0c;最主要实现二倍扩容功能 #include <iostream>using namespace std;template<typename T> class my_vector {int size;//可存储的容量大小int num;//当前存储的元素个数T* data;//存储数据的空间地址public://无参构造…

C++下基于粒子群算法解决TSP问题

粒子群优化算法求解TSP旅行商问题C&#xff08;2020.11.12&#xff09;_jing_zhong的博客-CSDN博客 混合粒子群算法&#xff08;PSO&#xff09;&#xff1a;C实现TSP问题 - 知乎 (zhihu.com) 一、原理 又是一个猜答案的算法&#xff0c;和遗传算法比较像&#xff0c;也是设…

小米手机安装面具教程(Xiaomi手机获取root权限)

文章目录 1.Magisk中文网&#xff1a;2.某呼&#xff1a;3.最后一步打开cmd命令行输入的时候:4.Flash Boot 通包-Magisk&#xff08;Flash Boot通刷包&#xff09;5.小米Rom下载&#xff08;官方刷机包&#xff09;6.Magisk最新版本国内源下载 1.Magisk中文网&#xff1a; htt…

深入解析 Nginx 代理配置:从 server 块到上游服务器的全面指南

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e;猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f6e0;️ 全栈技术 Full Stack: &#x1f4da…

XSS跨站脚本攻击

XSS全称&#xff08;Cross Site Scripting&#xff09;跨站脚本攻击,XSS属于客户端攻击&#xff0c;受害者最终是用户&#xff0c;在网页中嵌入客户端恶意脚本代码&#xff0c;最常用javascript语言。&#xff08;注意&#xff1a;叠成样式表CSS已经被占用所以叫XSS&#xff09…