JavaScript入门

JavaScript入门

  • 1_语法基础
    • 1.1_变量
    • 1.2_数据类型
    • 1.3_运算符
    • 1.4_类型转换
    • 1.5_注释跟c一样
  • 2_流程控制语句
  • 3_函数
    • 3.1_没有返回值的函数
    • 3.2_有返回值的函数
  • 4_对象
    • 4.1_对象简介
    • 4.2_字符串对象
    • 4.3_数组对象
    • 4.4_时间对象
    • 4.5_数学对象简介
  • 5_DOM基础
    • 5.1_DOM是什么
    • 5.2_节点类型
    • 5.3_获取元素
    • 5.4_创建元素
    • 5.5_插入元素
    • 5.6_删除元素
    • 5.7_复制元素
    • 5.8_替换元素
  • 6_DOM进阶
    • 6.1_HTML属性操作(对象属性)
    • 6.2_HTML属性操作(对象方法)
    • 6.3_CSS属性操作
    • 6.4_DOM遍历
    • 6.5_innerHTML和innerText
  • 7_事件基础
    • 7.1_事件调用方式
    • 7.2_鼠标事件
    • 7.3 键盘事件
    • 7.4_表单事件
    • 7.5_表单事件
    • 7.6_页面事件
  • 8_事件进阶
    • 8.1_事件监听器
    • 8.2_event对象
  • 9_jQuery
    • 9.1_jQuery介绍

1_语法基础

1.1_变量

在JavaScript中,所有变量都是用var声明。
语法:
var 变量名 = 值;

1.2_数据类型

在JavaScript中,数据类型可以分为两种:一种是“基本数据类型”;另外一种是“引用数据类型”。
基本数据类型有5种:数字、字符串、布尔值、未定义值和空值。而常见的引用数据类型有两种:数组、对象。


  1. 数字
    JavaScript中的数字是不区分“整型(int)”和“浮点型(float)”的。

  1. 字符串
    字符串都是用英文单引号英文双引号(注意都是英文)括起来的。
    单引号括起来的字符串中,不能含有单引号,只能含有双引号。同样的道理,双引号括起来的字符串中,也不能含有双引号,只能含有单引号

1.3_运算符

  1. '+'加法运算符规则
    数字 + 数字 = 数字
    字符串 + 字符串 = 字符串
    字符串 + 数字 = 字符串

2.其他
赋值、比较、逻辑、条件运算符都和c语言一样

1.4_类型转换

  1. “字符串”转换为“数字”
    (1)Number()
    (2)parseInt()和parseFloat()
    Number()方法可以将任何“数字型字符串”转换为数字。
    parseInt()和parseFloat是提取“首字母为数字或者±的任意字符串”中的数字直到遇到非数字,其中,parseInt()提取的是整数部分,parseFloat()不仅会提取整数部分,还会提取小数部分

  2. “数字”转换为“字符串”
    (1)与空字符串相加
    (2)toString()

1.5_注释跟c一样

2_流程控制语句

if else、while、for、switch语句和C语言一样

3_函数

3.1_没有返回值的函数

function 函数名(参数1 , 参数2 ,..., 参数n)
{……
}

3.2_有返回值的函数

function 函数名(参数1 , 参数2 ,..., 参数n)
{……return 返回值;
}

4_对象

4.1_对象简介

对象可以分为两种:一种是“自定义对象”;另外一种是“内置对象”。自定义对象,是需要我们自己定义的对象;内置对象,系统已经定义好的
常用的内置对象
(1)字符串对象:String
(2)数组对象:Array
(3)日期对象:Date
(4)数值对象:Math

4.2_字符串对象

  1. 获取字符串长度:字符串名.length

  2. 大小写转换
    字符串名.toLowerCase()
    字符串名.toUpperCase()

  3. 获取某一个字符(首位字符下标为0)
    字符串名.charAt(n)

  4. 截取字符串
    字符串名.substring(start, end)
    substring(start,end)截取范围为:[start,end)

  5. 替换字符串
    字符串名.replace(字符串子串, 替换字符串)
    将字符串中的出现的第一个字符串子串换为替换字符串
    字符串名.replace(正则表达式, 替换字符串)如:str.replace(/字符串子串/g, 替换字符串);
    将字符串中所有的字符串子串换为替换字符串

  6. 分割字符串
    字符串名.split("分割符")
    把字符串按分隔符分成若干个字符串数组

  7. 检索字符串的位置
    字符串名.indexOf(指定字符串)
    使用indexOf()方法来找出“某个指定字符串”在字符串中首次出现的下标位置
    字符串名.lastIndexOf(指定字符串)
    使用lastIndexOf()来找出“某个指定字符串”在字符串中最后出现的下标位置。
    若无此字符串则返回-1

4.3_数组对象

  1. 创建数组(数组元素随时可以新增,数组长度无限制)
    var 数组名 = new Array(元素1, 元素2, ……, 元素n); //完整形式
    var 数组名 = [元素1, 元素2, ……, 元素n]; //简写形式
  2. 获取数组长度
    数组名.length
  3. 截取数组部分
    数组名.slice(start, end);
    slice(start,end)截取范围为:[start,end),截取到的每个数组元素之间用’,'隔开
  4. 在数组开头添加元素
    数组名.unshift(新元素1, 新元素2, ……, 新元素n)
  5. 在数组结尾添加新元素
    数组名.push(新元素1, 新元素2, ……, 新元素n)
  6. 删除数组中第一个元素
    数组名.shift()
  7. 删除数组最后一个元素
    数组名.pop()
  8. 数组大小比较
    数组名.sort(up/down)
    使用sort()方法来对数组中所有元素进行大小比较,然后按从大到小或者从小到大进行排序。
  9. 数组颠倒顺序
    数组名.reverse();
  10. 将数组元素连接成字符串
    数组名.join("连接符");

4.4_时间对象

  1. 创建时间变量
    var 日期对象名 = new Date();
用于获取时间的getXxx()
方法说明
getFullYear()获取年份,取值为4位数字
getMonth()获取月份,取值为0(一月)到11(十二月)之间的整数
getDate()获取日数,取值为1~31之间的整数
getHours()获取小时数,取值为0~23之间的整数
getMinutes()获取分钟数,取值为0~59之间的整数
getSeconds()获取秒数,取值为0~59之间的整数
getDay()获取星期几(0表示星期天,1表示星期一……6表示星期六)
用于设置时间的setXxx()
方法说明
setFullYear()可以设置年、月、日
setMonth()可以设置月、日
setDate()可以设置日
setHours()可以设置时、分、秒、毫秒
setMinutes()可以设置分、秒、毫秒
setSeconds()可以设置秒、毫秒

4.5_数学对象简介

Math对象跟其他对象不一样,我们不需要使用new关键字来创造,而是直接使用它的属性和方法就行

  1. Math.属性

在JavaScript中,Math对象的属性往往都是数学中经常使用的“常量”,常见的Math对象属性如表所示。
2. Math方法
常用的方法
其中随机数生成[0, 1)

5_DOM基础

5.1_DOM是什么

我们在操作元素时,其实就是把这个元素看成一个对象,然后使用这个对象的属性和方法来进行相关操作

5.2_节点类型

在JavaScript中,节点也是分为很多类型的。DOM节点共有12种类型,不过常见的只有3种(其他的不用管)。

(1)元素节点 (2)属性节点 (3)文本节点
注意
(1)一个元素就是一个节点,这个节点称之为“元素节点”。
(2)属性节点和文本节点看起来像是元素节点的一部分,但实际上,它们是独立的节点,并不属于元素节点。
(3)只有元素节点才可以拥有子节点,属性节点和文本节点都无法拥有子节点(它们求子多年,但仍未如愿)。

不同节点的nodeType属性值
节点类型nodeType值
元素节点1
属性节点2
文本节点3

5.3_获取元素

(1)getElementById()
(2)getElementsByTagName()
(3)getElementsByClassName()
(4)querySelector()和querySelectorAll()
(5)getElementsByName()
(6)document.title和document.body
咦,这不跟CSS选择器相似吗?说得没错。只不过选择器是CSS的操作方式,而JavaScript却有着属于自己的另一套方法。

获取元素

5.4_创建元素

var e1 = document.createElement("元素名");      //创建元素节点
var txt = document.createTextNode("文本内容");   //创建文本节点
e1.appendChild(txt);                          //把文本节点插入元素节点中
e2.appendChild(e1);                          //把组装好的元素插入已存在的元素中

5.5_插入元素

  1. appendChild():末尾
    使用appendChild()把一个新元素插入到父元素的内部子元素的末尾
    A.appendChild(B);把B插入到A元素内部子元素的末尾

  1. insertBefore():之前
    使用insertBefore()方法将一个新元素插入到父元素中的某一个子元素之前
    A.insertBefore(B,ref);A表示父元素,B表示新子元素。ref表示指定子元素,在这个元素之前插入B

appendChild():末尾

<!DOCTYPE html> 
<html>
<head><meta charset="utf-8" /><title></title><script>window.onload = function () {var oBtn = document.getElementById("btn");//为按钮添加点击事件oBtn.onclick = function () {var oUl = document.getElementById("list");var oTxt = document.getElementById("txt");//将文本框的内容转换为“文本节点”var textNode = document.createTextNode(oTxt.value);//动态创建一个li元素var oLi = document.createElement("li");//将文本节点插入li元素中去oLi.appendChild(textNode);//将li元素插入ul元素中去oUl.appendChild(oLi);};}</script>
</head>
<body><ul id="list"><li>HTML</li><li>CSS</li><li>JavaScript</li></ul><input id="txt" type="text"/><input id="btn" type="button" value="插入" />
</body>
</html>

insertBefore():之前

<!DOCTYPE html> 
<html>
<head><meta charset="utf-8" /><title></title><script>window.onload = function () {var oBtn = document.getElementById("btn");oBtn.onclick = function () {var oUl = document.getElementById("list");var oTxt = document.getElementById("txt");//将文本框的内容转换为“文本节点”var textNode = document.createTextNode(oTxt.value);//动态创建一个li元素var oLi = document.createElement("li");//将文本节点插入li元素中oLi.appendChild(textNode);//将li元素插入到ul的第1个子元素前面oUl.insertBefore(oLi, oUl.firstElementChild);}}</script>
</head>
<body><ul id="list"><li>HTML</li><li>CSS</li><li>JavaScript</li></ul><input id="txt" type="text"/><input id="btn" type="button" value="插入" />
</body>
</html>

5.6_删除元素

A.removeChild(B);
A表示父元素,B表示父元素内部的某个子元素。

删除整个列表

<!DOCTYPE html> 
<html>
<head><meta charset="utf-8" /><title></title><script>window.onload = function () {var oBtn = document.getElementById("btn");oBtn.onclick = function () {var oUl = document.getElementById("list");document.body.removeChild(oUl);}}</script>
</head>
<body><ul id="list"><li>HTML</li><li>CSS</li><li>JavaScript</li><li>jQuery</li><li>Vue.js</li></ul><input id="btn" type="button" value="删除" />
</body>
</html>

5.7_复制元素

obj.cloneNode(bool)

5.8_替换元素

A.replaceChild(new,old);

6_DOM进阶

6.1_HTML属性操作(对象属性)

6.2_HTML属性操作(对象方法)

  1. obj.getAttribute(attr):获取元素的某个属性的值,同obj.attr
  2. obj.setAttribute(“attr”,“值”):设置元素的某个属性的值,同obj.attr = “值”;
    3. obj.removeAttribute(“attr”):删除元素的某个属性
    4. obj.hasAttribute(“attr”):判断元素是否含有某个属性

6.3_CSS属性操作

  1. 获取CSS属性值
    getComputedStyle(obj).attr

  1. 设置CSS属性值
    obj.style.attr = "值";

  1. cssText属性
    在JavaScript中,我们可以使用cssText属性来同时设置多个CSS属性
    obj.style.cssText = "值";
    例如:
    oDiv.style.cssText = "width:100px;height:100px;border:1px solid gray;";

6.4_DOM遍历

  1. 查找父元素:obj.parentNode

  1. 查找子元素
    可以使用以下两组方式来获得父元素中的所有子元素或某个子元素
    (1)childNodes、firstChild、lastChild
    (2)children、firstElementChild、lastElementChild

  1. 两种方法的比较
    使用childNodes、firstChild、lastChild这几个来操作元素节点是非常麻烦的,因为它们都把文本节点(一般是空白节点)算进来了。实际上,上面这种是旧的做法,JavaScript为了让我们可以快速开发,提供了新的方法,也就是只针对元素节点的操作属性:children、firstElementChild、lastElementChild。

6.5_innerHTML和innerText

转自

7_事件基础

7.1_事件调用方式

  1. 在script标签中调用
    obj.事件名 = function() { …… };

  2. 在元素中调用事件

<!DOCTYPE html> 
<html>
<head><meta charset="utf-8" /><title></title><script>function alertMes(){alert("绿叶学习网");}</script>
</head>
<body><input type="button" onclick="alertMes()" value="弹出" />
</body>
</html>

7.2_鼠标事件

鼠标事件
事件说明
onclick鼠标单击事件
onmouseover鼠标移入事件
onmouseout鼠标移出事件
onmousedown鼠标按下事件
onmouseup鼠标松开事件
onmousemove鼠标移动事件
<!DOCTYPE html> 
<html>
<head><meta charset="utf-8" /><title></title><style type="text/css">#btn {display: inline-block;width: 80px;height: 24px;line-height: 24px;font-family:微软雅黑;font-size:15px;text-align: center;border-radius: 3px;background-color: deepskyblue;color: White;cursor: pointer;}</style><script>window.onload = function () {var oDiv = document.getElementById("btn");oDiv.onclick = function () //鼠标点击{alert("玩我么?");}oDiv.onmouseover = function() //鼠标移进{this.style.backgroundColor = "pink";}oDiv.onmouseout = function() //鼠标移出{this.style.backgroundColor = "deepskyblue";}};</script>
</head>
<body><div id="btn">调试代码</div>
</body>
</html>

7.3 键盘事件

在JavaScript中,常用的键盘事件共有2种。

(1)键盘按下:onkeydown
(2)键盘松开:onkeyup

举例:统计输入字符的长度

<!DOCTYPE html> 
<html>
<head><meta charset="utf-8" /><title></title><script>window.onload = function () {var oTxt = document.getElementById("txt");var oNum = document.getElementById("num");oTxt.onkeyup = function () {var str = oTxt.value;oNum.innerHTML = str.length;};};</script>
</head>
<body><input id="txt" type="text" /><div>字符串长度为:<span id="num">0</span></div>
</body>
</html>

7.4_表单事件

在JavaScript中,常用的表单事件有3种。

(1)onfocus和onblur (2)onselect (3)onchange


  1. onfocus和onblur焦点事件
    onfocus表示获取焦点时触发的事件,而onblur表示失去焦点时触发的事件
    并不是所有的HTML元素都有焦点事件,具有“获取焦点”和“失去焦点”特点的元素只有2种。
    (1)表单元素(单选框、复选框、单行文本框、多行文本框、下拉列表)
    (2)超链接

  1. onselect
    在JavaScript中,当我们选中“单行文本框”或“多行文本框”中的内容时,就会触发onselect事件。

  2. onchange
    在JavaScript中,onchange事件常用于“具有多个选项的表单元素”。
    (1)单选框选择某一项时触发。
    (2)复选框选择某一项时触发。
    (3)下拉列表选择某一项时触发

举例:onfocus和onblur焦点事件

<!DOCTYPE html> 
<html>
<head><meta charset="utf-8" /><title></title><style type="text/css">#search {color: #bbbbbb}</style><script>window.onload = function () {//获取元素对象var oSearch = document.getElementById("search");//获取焦点oSearch.onfocus = function () {if (this.value == "百度一下,你就知道") {this.value = "";this.style.color = "black";}};//失去焦点oSearch.onblur = function () {if (this.value == "") {this.value = "百度一下,你就知道"; this.style.color = "#bbbbbb";}};}</script>
</head>
<body><input id="search" type="text" value="百度一下,你就知道"/><input id="Button1" type="button" value="搜索" />
</body>
</html>

举例:onselect事件

<!DOCTYPE html> 
<html>
<head><meta charset="utf-8" /><title></title><script>window.onload = function () {var oTxt1 = document.getElementById("txt1");var oTxt2 = document.getElementById("txt2");oTxt1.onselect = function () {alert("你选中了单行文本框中的内容");};oTxt2.onselect = function () {alert("你选中了多行文本框中的内容");};}</script>
</head>
<body><input id="txt1" type="text" value="如果我真的存在,也是因为你需要我。"/><br /><textarea id="txt2" cols="20" rows="5">如果我真的存在,也是因为你需要我。</textarea>
</body>
</html>

7.5_表单事件

在JavaScript中,常用的编辑事件有3种。
oncopy
onselectstart
oncontextmenu
总的来说,oncopy、onselectstart、oncontextmenu这3个在大多数情况下都是用来保护版权的。不过为了更好的用户体验,我们还是少用为妙,除非是迫不得已的情况。


1.oncopy
在JavaScript中,我们可以使用oncopy事件来防止页面内容被复制。
语法:
document.body.oncopy = function () { return false; }


  1. onselectstart
    在JavaScript中,我们可以使用onselectstart事件来防止页面内容被选取。
    语法:
    document.body.onselectstart=function(){return false;}

  1. oncontextmenu
    在JavaScript中,我们可以使用oncontextmenu事件来禁止鼠标右键。
    语法:
    document.oncontextmenu = function () {return false;}

详见

7.6_页面事件

在JavaScript中,常用的页面事件只有两个:onload、onbeforeunload


  1. onload
    在JavaScript中,onload表示文档加载完成后再执行的一个事件。
    并不是所有情况都需要用到window.onload的,一般来说,只有在想要“获取页面中某一个元素”的时候才会用到。
    解释:因为如果不把整个文档加载完成后,系统就不认识你要获取的元素。
    例如:
<!DOCTYPE html> 
<html>
<head><meta charset="utf-8" /><title></title><script>var oBtn = document.getElementById("btn");oBtn.onclick = function () {alert("JavaScript");};</script>
</head>
<body><input id="btn" type="button" value="提交" />
</body>
</html>

便不能执行


  1. onbeforeunload
    在JavaScript中,onbeforeunload表示离开页面之前触发的一个事件。
    语法:
    window.onbeforeunload = function(){ ……}

8_事件进阶

8.1_事件监听器

详见

window.addEventListener("keydown", function (e) , false)
代替window.onload()

8.2_event对象

event对象的属性
属性说明
type事件类型
keyCode键码值
shiftKey是否按下shift键
ctrlKey是否按下Ctrl键
altKey是否按下Alt键
常用的按键及对应的键码
按键键码
W(上)87
S(下)83
A(左)65
D(右)68
38
40
37
39

9_jQuery

使用文档

9.1_jQuery介绍

jQuery是JavaScript的一个方法库。
使用方式为$('CSS选择器').action()
如:

<! DOCTYPE htm1>
<htm1 lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
//下一行为CDN,即在线jQuery库,就是不用本地下载引用了
<--<script src="https://cdn.bootcss.com/jquery/3.4.1/core.js"x</script>-->
//下一行为本地jQuery引用
<script src="lib/jquery-3.4.1.js"></script>
</head>
<body>
<a href="" id="test-jquery">点我</a>
<script>
//当点击的时候有弹窗
$('#test-jquery').click(function () {alert( 'hello,jQuery' );
})
</script>
</ body></htm1>

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

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

相关文章

oracle 序列的概念与使用步骤

转载自&#xff1a;http://www.worlduc.com/blog2012.aspx?bid20342458 一、概念 1、 序列: 是oacle提供的用于产生一系列唯一数字的数据库对象。主要用于提供主键值。 2、 创建序列&#xff1a; 创建序列的语法 CREATE SEQUENCE sequence //创建序列名称 [INCREMENT BY n]…

数组转List的3种方法和使用对比!

作者 | 大脑补丁来源 | blog.csdn.net/x541211190/article/details/79597236前言&#xff1a;本文介绍Java中数组转为List三种情况的优劣对比&#xff0c;以及应用场景的对比&#xff0c;以及程序员常犯的类型转换错误原因解析。一.最常见方式&#xff08;未必最佳&#xff09;…

java 根据类名示例化类_Java即时类| getEpochSecond()方法与示例

java 根据类名示例化类即时类getEpochSecond()方法 (Instant Class getEpochSecond() method) getEpochSecond() method is available in java.time package. getEpochSecond()方法在java.time包中可用。 getEpochSecond() method is used to get the number of seconds from t…

oracle10g备份导入

2019独角兽企业重金招聘Python工程师标准>>> //导出 exp test/testgdsoft filed:\gd.dmp //删用户 drop user wkwx cascade; //用PLSQL创建数据数据库 create user hzjzjn identified by hzjzjn default tablespace BDP_DATABD; grant CREATE USER,DROP USER,ALTE…

VisualSVNServer的使用

VisualSVNServer的使用1_服务端初识1.1_创建新仓库1.2_创建用户并分配权限1_服务端初识 1.1_创建新仓库 右击Repository&#xff0c;点击create 点击下一步 输入仓库名 右击空白处&#xff0c;点击新建&#xff0c;点击project structure 输入工程名 1.2_创建用户并分…

安利一个IDEA骚操作:一键生成方法的序列图

在平时的学习/工作中&#xff0c;我们会经常面临如下场景&#xff1a;阅读别人的代码阅读框架源码阅读自己很久之前写的代码。千万不要觉得工作就是单纯写代码&#xff0c;实际工作中&#xff0c;你会发现你的大部分时间实际都花在了阅读和理解已有代码上。为了能够更快更清晰地…

overflow滚动条属性

做网页的时候&#xff0c;因为网页内容的长短不一样&#xff0c;并且滚动条的策略默认是自动&#xff0c;所以网页的滚动条根据内容一会有一会没有。我的网页做的是居中的&#xff0c;所以滚动条在有和没有的时候&#xff0c;会影响网页内容的位置&#xff0c;这样感觉不太好&a…

c#中textbox属性_C#.Net中带有示例的TextBox.Multiline属性

c#中textbox属性Here we are demonstrating use of Multiline property of the TextBox Control. 在这里&#xff0c;我们演示了TextBox控件的Multiline属性的使用。 Multiline property contains two values: 多行属性包含两个值&#xff1a; True: We can enter text in mo…

MATLAB新手教程

MATLAB新手教程 1&#xff0e;MATLAB的基本知识 1-1、基本运算与函数 在MATLAB下进行基本数学运算&#xff0c;仅仅需将运算式直接打入提示号&#xff08;>>&#xff09;之後&#xff0c;并按入Enter键就可以。比如&#xff1a; >> (5*21.3-0.8)*10/25 an…

嗯,查询滑动窗口最大值的这4种方法不错....

作者 | 王磊来源 | Java中文社群&#xff08;ID&#xff1a;javacn666&#xff09;转载请联系授权&#xff08;微信ID&#xff1a;GG_Stone&#xff09;本文已收录至 Github《小白学算法》系列&#xff1a;https://github.com/vipstone/algorithm这是一道比较基础的算法题&…

Oracle创建视图、通过视图创建表

创建视图&#xff1a; create or replace view v$_tst23 as select e.ename,d.dname from emp e left join dept d on e.deptno d.deptno;创建表&#xff1a; --如果表已存在&#xff0c;先删除 --drop table tst23a; --创建表格&#xff08;通过视图&#xff09; --可以在whe…

SVN客户端使用

SVN客户端使用1. 复制服务端URL2. 在客户端电脑新建文件夹用于存储版本代码3. 右击空白处&#xff0c;checkout4. 进入trunk目录&#xff0c;即可尝试新建文件并上传到服务端4.其他客户端更新版本5.解决代码冲突期间由于之前登陆过并设置为记住密码&#xff0c;所以整个过程并没…

c ++ stl_获取列表的第一个和最后一个元素| C ++ STL

c stlGiven a list with some of the elements, we have to access its first and last elements of the list in C (STL) program. 给定包含某些元素的列表&#xff0c;我们必须在C (STL)程序中访问列表的第一个和最后一个元素。 列表的front()和back()函数 (front() and ba…

细说新一代HTML5/JavaScript的UI控件wijmo5 的新架构

Wijmo 5是一组JavaScript控件&#xff0c;但是不要与Widgets混淆。在此前开发Wijmo的时候&#xff0c;我们能够用像jQuery UI和jQuery Mobile Widget 框架来构建它&#xff0c;同时也为我们构建Web框架--Wijmo节省了时间。但是&#xff0c;当我们希望构建一个更现代的Wijmo 5&a…

SSH:hql语句传参报错,及antlr-2.7.2.jar重复包的删除

问题&#xff1a; 使用hql语句时出现 java.lang.reflect.InvocationTargetException(即使用hql回调函数带参数时) 或者是 antlr.collections.AST.getLine()I异常 【解决方法一&#xff1a;myeclipse8.6/10】 我用的myeclipse8.6&#xff0c;&#xff08;10也是同样的方法&…

25 张图,1.4 w字!彻底搞懂分布式事务原理

本文提纲如下&#xff1a;0. 前言1. 单数据源事务 & 多数据源事务2. 常见分布式事务解决方案2.1. 分布式事务模型2.2. 二将军问题和幂等性2.3. 两阶段提交&#xff08;2PC&#xff09; & 三阶段提交&#xff08;3PC&#xff09;方案2.4. TCC 方案2.5. 事务状态表方案2.…

tableau使用事项

解决加载地图失败问题 如何使用mapbox

des加密密码补位_密码学中的数据加密标准(DES)

des加密密码补位This is a Data Encryption Standard that is the asymmetric key generation for the encryption of digital data in cryptography. Therefore, its short key length of 56 bits of character criticized from the beginning or starting makes it too insec…

解决screen Cannot open your terminal '/dev/pts/1'问题

转载于&#xff1a;http://urchin.blog.51cto.com/4356076/1153322 问题描述: userA首先登录系统&#xff0c;使用screen开启了一个session&#xff0c;然后detach这个窗口。 userB然后登录系统&#xff0c;通过su - userA 变成userA&#xff0c;然后使用screen -r 恢复之前det…

报告老板:这次的缓存事故是这样的...

事故背景公司最近安排了一波商品抢购活动&#xff0c;由于后台小哥操作失误最终导致活动效果差&#xff0c;被用户和代理商投诉了。老板让我带同事们一起复盘这次线上事故。什么原因造成的&#xff1f;抢购活动计划是零点准时开始&#xff0c;22&#xff1a;00 运营人员通过后台…