javascript语法备忘

< noscript>是不支持js的浏览器用来替换script下内容的东西。

chrome清除js缓存

在这里插入图片描述

基础

$(document).ready(function(){...
});
// 可以简写为:
$(function(){...func1(){}
});

这是在页面DOM加载完成后执行的代码,而windown.onload则需要在页面DOM和图片都加载完成后才执行,所以ready函数效率更高。在函数外面,无法调用里面的func1()。

js的map类型及后台接收

var formData = {}; // 初始化
formData["startTime"] = date1; // 添加数据
formData["endTime"] = date2;
var passData = new FormData();
passData.append("passData", JSON.stringify(formData)); 
// 变成string
// 然后就可以用$.ajax提交到后台了// java接收:
// listSearchResult(@RequestParam("passData")String rawData)
// 打印出来是这样的字符串:
// {"startTime":"2020-05-01 00:00:00","endTime":"2020-05-06 00:00:00"}
// 可以直接转为map:
// Map<String, String> dataMap = (Map<String, String>)JSONUtils.parse(rawData);// 获取key的个数
Object.keys(formData).length
// 遍历map
for (item in formData) {console.log(formData[item])
}
// 删除,不加括号也可以
delete(formData[key])

return语句

将控制权交回给页面

this关键字

可以把执行上下文想象为一个容器,其中包含了一句句待执行的代码。代码在这个容器中有上下行两条路线,是由某一些特殊代码所触发(如函数),上行路线跳入了一个新的容器,开始在新容器中执行另一些代码,本容器中的后续代码被暂时中断;如果新容器中还有代码会触发上行路线,就继续往上增加新容器,并交出控制权,层层叠加,形成了一个从底往上形式的叠罗汉,这就是 JavaScript 运行时的执行上下文栈。

JavaScript 将对执行上下文的引用提供给程序开发者的唯一入口就是 this,它得以访问被编译后带入到某个执行上下文运行环境中的变量。this 指代的其实只是内部抽象的执行上下文向用户所开放的那一部分,其实体是一个对象,绑定了许多编译后的变量。(所以alert($this.val)会看到一段代码。)

正则表达式

// QYYYYMM***格式
function isStudentNo(str) {var reg=/^Q[0-9]{9}$/;   /*定义验证表达式*/return reg.test(str);     /*进行验证 如果字符串中含有匹配的文本,则返回 true,否则返回 false。*/
}

箭头函数

ES6标准新增了一种新的函数:Arrow Function(箭头函数)。

为什么叫Arrow Function?因为它的定义用的就是一个箭头:

x => x * x
//上面的箭头函数相当于:
function (x) {return x * x;
}

箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ … }和return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ … }和return:

ref: https://www.cnblogs.com/twoheads/p/9876396.html

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

语法switch

	function (code) {// switch必须类型和值完全匹配switch(code) {case -1:return "未分派";case 0:return "待处理";case 1:return "已处理";case 2:return "已退回";case 3:return "已确认";}}

返回上一页

<button type="button" class="btn btn-primary" title="返回" onClick="window.history.back(-1)"><i class="fa fa-undo"></i> 返回
</button>

在新窗口打开页面(jquery)

window.open(url, '_blank');

ajax同步和异步的区别

                    $.ajax({type: "post",url: options.getDetailsUrl.replace("{id}", orderId),async: false,success: function (dat) {},error: $.tool.ajaxError});

async默认是true,也就是异步。

异步:使用ajax发完请求后,剩下的代码将继续执行,不管服务器何时响应,响应什么。
同步:用ajax发请求,服务器响应,再执行剩下的代码。

js里跳转

如果只是单纯跳转,那不一定要ajax去post或者get请求。

$('#tablelist').on('click', '.btn-get-details', function () {var $this = $(this);var orderId = $this.attr("order-id");var url = options.getDetailsUrl.replace("{id}", orderId);window.location.href=url+"?backurl="+window.location.href;});

这里window.location.href就是接下来用GET跳转去的url

.btn-get-details是前端class里的第一个值,由于我前端那个button是每行一个的,所以它的id并非唯一,如果使用$(“#idName”).click(function () {});这样的来获取数据的话,由于id不唯一,那么this指针就不知道该指向哪一个,因此换用class里的名称来绑定操作。

$ is not defined

这个报错一般与jquery引用位置不对有关。比如我放在ftl末尾的footer.ftl里引用了jquery,那么我为本文件写的js,就必须放到最后。不然识别不到$。

bootstrap fileinput

一款非常优秀的HTML5文件上传插件,支持bootstrap 3.x 和4.x版本,具有非常多的特性:多文件选择。这个插件能最简单的帮你完成文件上传功能,且使用bootstrap样式。还支持多种文件的预览,images, text, html, video, audio, flash。另外还支持ajax方式上传文件,可以看到上传进度。支持拖拽的方式添加和删除文件。

文档:http://www.bootstrap-fileinput.com/
安装:在github下zip包,直接复制css和js去自己的项目

使用
引用资源的顺序
bootstrap jquery fontawesome然后再bootstrap-fileinput(css和js都是)
一般css放header,js放最后

bootstrap-fileinput的css:

<link href="/assets/css/fileinput.css" rel="stylesheet">

js:如果要多语言(翻译),{lang}.js要放在fileinput.js后

<script src="/assets/js/fileinput.js"></script>
<script src="/assets/js/zh.js"></script><script>
// 上传gene文件的控件初始化
$("#input-gene").fileinput({// 按钮上显示中文language:'zh',// 去除upload按钮showUpload: false,// 浏览按钮上的文字browseLabel: '浏览',// 这个是输入框的placeholder//msgPlaceholder: '多个文件请打包zip',
}) 
</script>

前端

<input id="input-gene" name="input-gene" type="file" class="file" data-show-preview="false">

如果不初始化
在这里插入图片描述

上传一个文件后
在这里插入图片描述

经过此番设置后:
在这里插入图片描述

上传一个文件后
在这里插入图片描述

设置方法参见文档的配置项部分:
http://www.bootstrap-fileinput.com/options.html

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

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

相关文章

「数据结构」哈希表1:基本概念

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;Java数据结构 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 基本概念 &#x1f349;哈希表&#x1f349;哈希冲突&#x1f34c;负载因子调节&#x1f34c;解决哈希冲突&#x1f95d;1. 闭散…

2024年世界听力日活动的主题是什么?

改变思维模式&#xff1a;让所有人的耳和听力保健成为现实&#xff01; Let’s make ear and hearing care a reality for all! 据 世界卫生组织 报道&#xff1a;在全球范围内&#xff0c;超过 80% 的耳和听力保健需求仍未得到满足 &#xff1b; 未得到解决的听力损失每…

Microsoft Word 超链接

Microsoft Word 超链接 1. 取消超链接2. 自动超链接2.1. 选项2.2. 校对 -> 自动更正选项2.3. Internet 及网络路径替换为超链接 References 1. 取消超链接 Ctrl A -> Ctrl Shift F9 2. 自动超链接 2.1. 选项 2.2. 校对 -> 自动更正选项 ​​​ 2.3. Internet…

controller-manager学习三部曲之二:源码学习

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 本篇概览 作为《controller-manager学习三部曲》系列的第二篇&#xff0c;前面通过shell脚本找到了程序的入口&#xff0c;接下来咱们来学习controller-mana…

《21天精通IPv4 to IPv6》第15天:IPv6的扩展技术——如何扩展IPv6?

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

文件的操作(下)

1.顺序读写函数 这些函数都是 按照顺序读写的&#xff0c;所谓的按顺序读写就是我么你打开文件后光标是从头开始的&#xff0c;每输入一个数据就会自动往下一格移动。上面说的适面于所有输入流一般指适用于标准输入流和其他输入流&#xff08;如文件输入流&#xff09;&#xf…

Java是如何实现的平台无关?

&#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是小徐&#x1f947;☁️博客首页&#xff1a;CSDN主页小徐的博客&#x1f304;每日一句&#xff1a;好学而不勤非真好学者 &#x1f4dc; 欢迎大家关注&#xff01; ❤️ 1、什么是平台无关性 平台无关性就是一种语言在…

Pandas深度解析GroupBy函数的妙用技巧【第75篇—GroupBy函数】

Pandas深度解析GroupBy函数的妙用技巧 数据处理和分析中&#xff0c;Pandas是一款非常强大的Python库&#xff0c;提供了丰富的数据结构和功能&#xff0c;使得数据分析变得更加简便高效。其中&#xff0c;GroupBy函数是Pandas中一个重要且常用的功能&#xff0c;通过它我们可…

12.atoi函数

文章目录 函数简介函数原型 代码运行 函数简介 函数原型 int atoi(char const *string);函数把字符转化为正数 代码运行 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h>int main() {int ret 0;char str[20] "112233";ret …

Unity类银河恶魔城学习记录6-2 P66 Clone‘s Attack源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Clone_Skill.cs using System.Collections; using System.Collections.Gen…

【c++基础】阿尔法乘积

说明 计算一个整数的阿尔法乘积。对于一个整数x来说&#xff0c;它的阿尔法乘积是这样来计算的&#xff1a;如果x是一个个位数&#xff0c;那么它的阿尔法乘积就是它本身&#xff1b;否则的话&#xff0c;x的阿 尔法乘积就等于它的各位非0的数字相乘所得到的那个整数的阿尔法乘…

游本昌活佛济公“封神“!你加油了吗?感说出自己的难处吗?——早读

过年了&#xff0c;你赚钱了吗? 引言代码第一篇 中国石化 每升直降0.98元&#xff0c;春节加油有优惠&#xff01;第二篇 人民日报 【夜读】新的一年&#xff0c;让家越来越温馨的6个习惯第三篇 人民日报 游本昌这段话&#xff0c;让全场泪目&#xff01;第六篇&#xff08;跳…

vue3中Pinia

一、pinia的简单使用 vuex和pinia的区别 参考网址&#xff1a;[Vuex] Vuex 5 by kiaking Pull Request #271 vuejs/rfcs GitHub 1.pinia没有mutations&#xff0c;只有&#xff1a;state、getters、actions 2.pinia分模块不需要models&#xff08;之前vuex分模块需要models…

第7讲 全局异常统一处理实现

新建GlobalExceptionHandler类。 package com.java1234.exception;import com.java1234.entity.R; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdv…

【ES】--ES集成热更新自定义词库(字典)

目录 一、问题描述二、具体实施1、Tomcat实现远程扩展字典2、验证生效3、ES配置远程扩展字典4、为何不重启ES能实现热更新 一、问题描述 问题现象: 前面完成了自定义分词器词库集成到ES中。在实际项目中词库是时刻在变更的&#xff0c;但又不希望重启ES&#xff0c;对此我们应…

CSS盒子的概念

盒子模型 盒子的概念 页面中的每一个标签都可以看做是一个“盒子”&#xff0c;通过盒子的视角更方便的进行布局 浏览器在渲染&#xff08;显示&#xff09;网页时&#xff0c;会将网页中的元素看做是一个个的矩形区域&#xff0c;称之为“盒子” 盒子模型 CSS中规定每个盒…

错误的集合(力扣刷题)

个人主页&#xff08;找往期文章包括但不限于本期文章中不懂的知识点&#xff09;&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 由于作者比较菜&#xff0c;还没学malloc这个函数&#xff0c;因此这个题目只写一些与原题大致的思路。 题目链接&#xff1a;645. 错误的集合 - 力扣…

五(一)java高级-集合-集合与迭代器(二)

5.1.2 Iterator迭代器 1、Iterator 所谓迭代器&#xff1a;就是用于挨个访问集合元素的工具/对象 方法&#xff1a; boolean hasNext():判断当前遍历集合后面是否还有元素可以迭代Object next():取出当前元素&#xff0c;并往后移→noSuchelementExceptionvoid remove():删…

S32 Design Studio的PE工具

S32 Design Studio软件是NXP公司专门为了方便用户开发S32K1系列芯片的IDE&#xff0c;跟Eclipse比较像。里面有个配套的图形工具Processor Expert&#xff0c;会产生一个后缀名为pe的文件&#xff0c;跟ST的cubemx作用类似。 双击pe文件即可打开pe界面&#xff0c;生成的文件将…

深入学习《大学计算机》系列之第1章 1.7节——图灵机的一个例子

一.欢迎来到我的酒馆 第1章 1.7节&#xff0c;图灵机的一个例子。 目录 一.欢迎来到我的酒馆二.图灵机2.1 艾伦-图灵简介2.2 图灵机简介 三.图灵机工作原理3.1 使用图灵机打印二进制数3.2 图灵机工作原理总结 四.总结 二.图灵机 本节内容主要介绍计算机科学之父——艾伦-图灵、…