JAVASCRIPT
JAVASCRIPT
JavaScript介绍
JavaScript是运行在浏览器端的脚本语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScript是浏览器解释执行的,前端脚本语言还是Jscript(微软,ID独有),ActionScript(Adoble公司,需要插件)等
前端三大块
HTML:页面结构
CSS:页面表现:元素大小,颜色,位置,隐藏或显示,部分动画效果
JavaScript:页面行为:部分动画效果,页面与用户的交互,页面功能
JavaScript嵌入页面的方式
行间事件(主要用于事件)
< input type= "button" name= "" οnclick= " alert ( 'ok!' ); " value= " 点击我!" >
页面script标签嵌入(内嵌JS)
< script type= "text/javascript" > alert("ok!”); script >
外部引入
< script type= "text/javascript" src= "js/hello.js" >script >
变量
JavaScript是一种弱类型语言,JavaScript的变量类型由它的值来决定的,定义变量需要用关键字var
Var isNum = 123;
Var sTr = ”asdf”
//同时定义多个变量可以使用“,”隔开,公用一个“var”关键字
Var isNum = 45,sTr=”hello world”,sCount=’68’;
变量类型:
5种年基本数据类型:
number 数字类型
string 字符串类型
boolean 布尔类型 true或false
undefined undefined类型,变量声明没有初始化,它的值就是undefined
null null类型,表示空对象,如果定义的变量将来准备保存对象,可以将变量初始化为null,在页面生获取不到对象,返回值就是null
1种复合类型
Object
Javascript语句与注释
一条JavaScript语句应该以“;”结尾
JavaScript注释
单行注释: //
多行注释: /* */
变量、函数、属性、函数参数命名规范:
区分大小写
第一个字符必须是字母,下划线(_)或者美元符号($)
其他字符可以是字母,下划线,美元符号或数字
匈牙利命名风格:
对象o Object 比如:oDiv
数组 a Array 比如:altems
字符串s String 比如:sUserName
整数i Integer 比如:iItemCount
布尔值 b Boolean 比如:bIsComlpete
浮点数 f Float 比如:fPrice
函数 fn Function 比如:fnHandler
正则表达式 re RegExp 比如:reEmailCheck
获取元素方法一
可以使用内置对象document上的getElementById方法来获取页面上设置id属性的元素,获取的是一个html对象,然后将它赋值给一个变量,比如:
< script type= "text/javascript" > var odi = document . getElementById ( "div1" ) script >
上面的语句,如果把JavaScript写在元素的上面,就会报错,因为页面上从上往下加载执行的,JavaScript去页面上获取元素div1的时候,元素div1还没有加载,解决方法有2种:
第一种方法:将JavaScript放到页面最下边
..........
这是第一个div元素
.......
< script type= "text/javascript" > var odi = document . getElementById ( "div1" ) script >
第二种方法:将JavaScript语句放到window.onload触发的函数里面,获取元素的语句会在页面加载完成后才执行,就不会出错了。
< script type= "text/javascript" >
window.onload = function(){ var odi = document . getElementById ( "div1" )
} script >
.......
操作元素属性
获取的页面元素,就可以对页面元素的属性进行操作,属性的操作包括属性的读和写
操作属性的方法
“.”操作
“[]”操作
属性写法
html 的属性和js里面属性写法一样
“class”属性写成“className”
“style” 属性里面的属性,有横杆的改写驼峰式,比如:“font-size”,改写成“style.fontSize”
通过“.”操作属性
< script type= "text/javascript" >
window . onload = function (){
// 通过ID名获取元素赋值给oDiv变量
var oDiv = document . getElementById ( "div1" )
var oa = document . getElementById ( "link" )
// 读取属性
var sId = oDiv . id
alert ( sId )
// 改变元素的属性(写属性)
oDiv . style . color = "red"
oDiv . style . fontSize = "20px"
oa . href = "http://www.baidu.com"
oa . title = " 这是跳转到百度的网址"
var oa2 = document . getElementById ( "div2" )
oa2 . className = "box2"
}
通过“[]”操作属性
< script type= "text/javascript" >
window . onload = function (){
// 通过ID名获取元素赋值给oDiv变量
var oDiv = document . getElementById ( "div1" )
var sMystyle = "color"
var sValue = "red"
/* 属性用变量来替代的话需要用【】来操作 */
oDiv . style [ sMystyle ] = sValue
}
script >
innerHTML
innerHTML 可以读取或者写入标签包裹的内容
< script type= "text/javascript" >
window . onload = function (){
// 通过ID名获取元素赋值给oDiv变量
var oDiv = document . getElementById ( "div1" )
// 读取元素里面的内容
var text = oDiv . innerHTML ;
alert ( text )
// 改写元素里面的内容
//oDiv.innerHTML = "修改一个元素"
oDiv . innerHTML = " 传智播客"
}
script >
< body >
< div id= "div1" > 这是一个元素div >
body >
函数
函数就是重复执行的代码片。
< head >
< meta charset= "UTF-8" >
< title > JS 函数title >
< script type= "text/javascript" >
function fnMyalert (){
alert ( "hello world !" )
}
function fnChange (){
var oDiv = document . getElementById ( "div1" )
oDiv . style . color = "red"
oDiv . style . fontSize = "20px"
}
script >
head >
< body >
< div id= "div1" οnclick= " fnMyalert () " > 这是一个div元素div >
< input type= "button" name= "" value= " 改变div" οnclick= " fnChange () " >
body >
< head >
< meta charset= "UTF-8" >
< title > JS 函数title >
< script type= "text/javascript" >
function fnMyalert (){
alert ( "hello world !" )
}
function fnChange (){
var oDiv = document . getElementById ( "div1" )
oDiv . style . color = "red"
oDiv . style . fontSize = "20px"
}
script >
head >
< body >
< div id= "div1" οnclick= " fnMyalert () " > 这是一个div元素div >
< input type= "button" name= "" value= " 改变div" οnclick= " fnChange () " >
body >
匿名函数
定义函数可以不给名称,这个叫做匿名函数,可以将匿名函数直接赋值给元素绑定的事件来完成匿名函数的调用。
< head >
< meta charset= "UTF-8" >
< title > JS 函数title >
< script type= "text/javascript" >
window . onload = function (){
var oBtn = document . getElementById ( "btn01" );
oBtn .onclick = function (){
var oDiv = document . getElementById ( "div1" )
oDiv . style . color = "red"
oDiv . style . fontSize = "20px"
};
}
script >
head >
< body >
< div id= "div1" > 这是一个div元素div >
< input id = "btn01" type= "button" name= "" value= " 改变div" >
body >
变量与函数预解析
JavaScript 解析过程分为两个阶段,先是编译阶段,然后执行阶段,在编译阶段将会function定义的函数提前,并且将var定义的变量声明提前,将它赋值undefined.
< script type= "text/javascript" >
// 预解析会把变量的声明提前
alert ( iNum ); // 弹出undefined
alert (iNum01); // 系统会崩溃或出错,因为iNum01没有定义,也没有声明
var iNum = 12 ;
script >
< script type= "text/javascript" >
// 预解析会让函数的声明和定义提前,正常用它
myalert ();
function myalert (){
alert ( "hello world!" );
}
script >
函数传参
< script type= "text/javascript" >
function fnMyalert (a){
alert (a);
}
fnMyalert ( "hello world!" )
fnMyalert ( 12 )
script >
< script type= "text/javascript" >
window . onload = function (){
function fnChangestyle (myStyle,val){
var oDiv = document . getElementById ( "div01" )
oDiv . style [myStyle] = val;
}
fnChangestyle ( 'fontSize' , '30px' );
fnChangestyle ( 'color' , 'red' );
fnChangestyle ( 'backgroundColor' , 'pink' );
}
script >
函数return关键字
函数中‘return’关键字的作用
返回函数执行的结果
结束函数的运行
阻止默认行为
< script type= "text/javascript" >
function fnAdd (a,b){
var c = a + b
return c ;
}
var isResult = fnAdd ( 2 , 5 );
alert ( isResult )
script >
条件语句
通过条件来控制程序的走向,就需要用到条件语句
运算符
算术运算符:+(加),-(减),*(乘),/(除),%(求余)
赋值运算: =,+=,-=,*=,/=,%=,++(自增1)
条件运算符:==,===(先比较两边的类型,然后在比较值),>,>=,<,<=,!=,&&(而且),||(或者),!(否)
If else
< script type= "text/javascript" >
var iNum01 = 2 ;
var sNum01 = '2' ;
if ( iNum01 === sNum01 ){
alert ( " 相等" );
} else {
alert ( " 不相等" );
}
if ( 3 != 4 ){
alert ( "true" );
} else {
alert ( "false" );
}
if (! 4 > 3 ){
alert ( " 大于" );
} else {
alert ( " 非大于" );
}
if ( 4 > 3 && 5 > 2 ){
alert ( " 满足" );
} else {
alert ( " 不满足" );
}
if ( 4 > 3 || 5 < 2 ){
alert ( " 部分满足" );
} else {
alert ( " 全部不满足" );
}
script >
Switch语句
多重if else语句可以换成性能更高的switch语句
< head >
< meta charset= "UTF-8" >
< title > 网页换肤title >
< link id = "link01" type= "text/css" rel= "stylesheet" href= "css/skin01.css" >
< script type= "text/javascript" >
window . onload = function (){
var iWeek = 3 ;
var oBody = document . getElementById ( 'body01' );
switch ( iWeek ){
case 1 :
oBody . style . backgroundColor = 'gold' ;
break ;
case 2 :
oBody . style . backgroundColor = 'pink' ;
break ;
case 3 :
oBody . style . backgroundColor = 'green' ;
break ;
case 4 :
oBody . style . backgroundColor = 'yellowgreen' ;
break ;
case 5 :
oBody . style . backgroundColor = 'lightblue' ;
break ;
case 6 :
oBody . style . backgroundColor = 'lightgreen' ;
break ;
default :
break ;
}
}
script >
head >
< body id= "body01" >
body >
数组及操作方法
数组就是一组数据的集合,JavaScript中,数组里面的数据可以是不同类型的。
定义数组的方法
< script type= "text/javascript" >
// 对象的实例创建
var aList01 = new Array( 1 , 2 , 3 , 4 );
// 直接创建(通常使用这个方法来创建数组)
var aList02 = [ 1 , 2 , 3 , 4 , 5 ];
script >
操作数组中数据的方法
获取数组的长度:aList.length;
< script type= "text/javascript" >
var aList02 = [ 1 , 2 , 3 , 4 , 5 ];
// 通过 length 来 获取数组的长度
alert ( aList02 . length );
script >
用下标操作数组的某个数量:aList[0];
Join()将数组成员通过一个分隔符合并成字符串
< script type= "text/javascript" >
var aList02 = [ 1 , 2 , 3 , 4 , 5 ];
var sTr = aList02.join(“-”);
alert(sTr);// 弹出1-2-3-4-5
Push()和pop()从数组最后增加成员或删除成员
< script type= "text/javascript" >
var aList02 = [ 1 , 2 , 3 , 4 , 5 ];
//Push() 和pop()从数组最后增加成员或删除成员
aList02 . push ( 'b' );
alert ( aList02 );
aList02 . pop ()
alert ( aList02 );
script >
Unshift()和shift()从数组前面增加成员或删除成员
< script type= "text/javascript" >
var aList02 = [ 1 , 2 , 3 , 4 , 5 ];
aList02 . unshift ( 'b' )
alert ( aList02 )
aList02 . shift ()
alert ( aList02 );
script >
reverse()将数组反转
< script type= "text/javascript" >
var aList02 = [ 1 , 2 , 3 , 4 , 5 ];
aList02 . reserve ()
alert ( aList02 );
script >
indexof()返回数组中元素第一次出现的索引值
< script type= "text/javascript" >
var aList03 =[ 'a' , 'b' , 'c' , 'a' , 'b' , 'c' ]
alert ( aList03 . indexOf ( 'b' ))
script >
splice()在数组中增加或删除成员
第一个参数是开始的位置,第二个参数是从起始位置删除多少个成员,第三个之后(包括第三个)的是要增加的成员的值
< script type= "text/javascript" >
var aList03 =[ 'a' , 'b' , 'c' , 'd' , 'a' , 'b' , 'c' ];
// aList03.splice(1,0,'e') ;// 从第2个开始不删除,在1的位置增加一个e
// alert(aList03);//'a','e','b','c','d','a','b','c'
aList03 . splice ( 1 , 2 , 'f' , 'g' ); // 从第2个开始删除b,c,在1的位置增加一个f,g
alert ( aList03 ); // a,f,g,d,a,b,c
script >
多维数组
多维数组指的是数组的成员也是数组的数组
< script type= "text/javascript" >
var aList = [[ 1 , 2 , 3 ],[ 'a' , 'b' , 'c' , 'd' ],[ 4 , 5 , 6 ],[ 6 , 7 , 8 ]];
alert ( aList . length ) //4
alert ( aList [ 0 ]. length ) //3
alert ( aList [ 0 ][ 1 ]); //2
script >
循环
批量操作数组中的数据,需要使用到循环语句
循环语句
程序中进行有规律的重复性操作,需要使用到循环语句
For 循环
< script type= "text/javascript" >
for ( var i = 0 ; i i ++){
.....
}
script >
< script type= "text/javascript" >
var aList =[ 1 , 2 , 3 , 4 , 5 , 6 ];
var iLen = aList . length ;
for ( var i = 0 ; i < iLen ; i ++){
alert ( aList [ i ]);
}
script >
While 循环
< script type= "text/javascript" >
var i =0;
While(i<0){
i++;
}
script >
数组去重
< script type= "text/javascript" > var aList = [ 1 , 2 , 3 , 2 , 3 , 4 , 6 , 7 , 8 , 5 , 9 , 3 , 2 , 1 , 8 , 5 , 4 , 5 , 6 ]; var aList2 =[]; for ( var i = 0 ; i < aList . length ; i ++){ if ( aList . indexOf ( aList [ i ])== i ){ aList2 . push ( aList [ i ]); } } alert ( aList2 ); script
获取元素方法二
可以使用内置对象document上的getElementByTagName方法来获取页面上的某一标签,获取的是一个选择集,不是数组,但可以用下标的方式操作选择集里面的标签元素
< script type= "text/javascript" > window . onload = function (){ // 通过标签名称获取li元素,生成一个选择集,赋值给aLi /* var aLi = document.getElementsByTagName("li"); var iLen = aLi.length; //读取选择集内元素的个数 //alert(aLi.length); //同时给所有的li加背景色 for(var i=0;i //设置背景色 aLi[i].style.background = "gold"; }*/ //给指定li加背景色 var oUl = document . getElementById ( "list1" ); var aList = oUl . getElementsByTagName ( "li" ); var iLen = aList . length alert ( aList . length ) for ( var i = 0 ; i < iLen ; i ++) { if ( i % 2 == 0 ){ aList [ i ]. style . background = "gold" ; } } } script >
Javascript组成
ECMAscript JavaScript的语法(变量,函数,循环语句等语法)
DOM文档对象模型 操作html和css的方法
BOM浏览器对象模型 操作浏览器的一些方法
字符串处理方法:
字符串合并操作:“+”
ParseInt()将数字字符串转化为整数
ParseFloat()将数字字符串转为小数
Split()把一个字符串分割成字符串组成的数组
ChartAt()获取字符串中的某一个字符
Indexof()查找字符串是否含有某字符
Substring()截取字符串用法:substring(start,end)(不包括end)
toUpperCase()字符串转大写
toLowerCase()字符串转小写
< script type= "text/javascript" > var iNum01 = 12 ; var sTr = "abc" ; var iNum02 = "34" ; // 数字和字符串相加 等同于字符串拼接 alert ( iNum01 + iNum02 ); // 弹出1234 alert ( iNum02 + sTr ); // 弹出34abc var sTr = '12.35' ; // 将数字字符串转化为整数 alert ( parseInt ( sTr )); // 弹出12 //将数字字符串转化为小数 alert ( parseFloat ( sTr )); // 弹出12.35 //把一个字符串分割成字符串组成的数组 var sTr = "2017-4-22" ; var aList = sTr . split ( "-" ); alert ( aList ); // 弹出['2017','4','22'] var aList02 = sTr . split ( "" ); alert ( aList02 ); // 弹出['2','0','1','7','-','4','-','2','2'] //获取字符串中的某一个字符 var sTr04 = "#div" ; var sTr05 = sTr04 . charAt ( 0 ); alert ( sTr05 ); // 弹出# //查找字符串是否含有某字符,indemxOf(),如果不存在的话就会弹出-1,找到的话就会弹出对应的索引值 var sTr06 = "abcdf microsoft asdf1" ; alert ( sTr06 . indexOf ( 'microsoft' )); // 弹出 6,弹出-1 //截取字符串用法 var sTr07 = "abcdf123456gh" ; var sTr08 = sTr07 . substring ( 5 , 11 ); alert ( sTr08 ); //// 弹出 123456 script >
用最快的方式实现字符串反转
< script >
var sTr09 = "abcdfmicrosoft12345asdf1" var sTr10 = sTr09 . split ( "" ). reverse (). join (); alert ( sTr10 ); // 弹出1,f,d,s,a,5,4,3,2,1,t,f,o,s,o,r,c,i,m,f,d,c,b,a script >
定时器
制作动画
异步操作
函数缓冲与节流
定时器类型及语法
定时器有2种:
setTimeout 只执行一次的定时器
setInterval 反复执行的定时器
clearTimeout 关闭只执行一次的定时器
clearInterval 关闭反复执行的定时器
变量作用域
变量作用域指的是变量的作用域范围,JavaScript中的变量分为全局变量和局部变量
全局变量:在函数之外定义的变量,为整个项目页面共用,函数内部外部都可以访问有
局部变量:在函数内部定义变量,只能在定义该变量的函数内部访问,外部无法访问。
封闭函数
封闭函数是JavaScript中匿名函数的另外一种写法,创建一个开始就执行而比用命名的函数。
一般定义函数和执行函数
Function myAlert(){
Alert(“hello world!”);
}
myAlert()
封闭函数:
(function myAlert(){
Alert(“hello world!”);
} )();
还可以在函数定义前加上“~”和“!”等符号来定义匿名函数
!function myAlert(){
Alert(“hello world!”);
}
在封闭函数前加一个“;”,可以避免JS压缩时候出错 ;(function myalert(){ alert("hello world!") })();
常用内置对象
document
< script type= "text/javascript" >
// 通过Id获取元素
document . getElementById ()
// 通过标签获取元素
document . getElementsByTagName ()
// 获取上一个页面跳转页面的地址
document . referrer
script >
location
// 获取或重定URL地址
window . location . href
// 获取地址参数部分
window . location . search
// 获取页面锚点或者叫哈希值
window . location . hash
Math
//获取0-1的随机数,不包括1
Math.random
//向下取整
Math.floor
//向上取整
Math.ceil
< script type= "text/javascript" > var iPi = Math . PI ; alert ( iPi ); //Math.random() 只能返回从0到1之间的随机数,不包括1 var iNum = Math . random (); var aArr =[]; for ( var i = 0 ; i < 20 ; i ++){ aArr . push ( iNum ) } //alert(aArr); console . log ( aArr ); // 向下取整,去除小数部分 alert ( Math . floor ( 5.6 )); //5 // 向上取整,去除小数部分,整体加1 alert ( Math . ceil ( 5.2 )); //6 //10-20 之间的随机数 var iN01 = 10 ; var iN02 = 20 ; var aList02 =[]; for ( var i = 0 ; i < 40 ; i ++){ var iNum = Math . floor (( iN02 - iN01 )* Math . random ()+ 1 ) + iN01 ; aList02 . push ( iNum ); } console . log ( aList02 ); script >
调试程序的方法
alert :直接弹出框给你看你想要看的变量
console.log:在console里面看得到你想要的变量值
document.title
你可能感兴趣的:(Python,前端)
【Python】一文详细介绍 py格式 文件
高斯小哥
Python基础【高质量合集】 python 新手入门 学习
【Python】一文详细介绍py格式文件个人主页:高斯小哥高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程希望得到您的订阅和支持~创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)文章目录一、py格式文件简介二、如何创建和编辑py格式文件三、如何运行py
python抓包与解包_Python—网络抓包与解包(pcap、dpkt)
weixin_39691055
python抓包与解包
pcap安装[root@localhost~]#pipinstallpypcap抓包与解包#-*-coding:utf-8-*-importpcap,dpktimportre,threading,requests__black_ip=['103.224.249.123','203.66.1.212']#抓包:param1eth_name网卡名,如:eth0,eth3。param2p_type日志捕
华为OD机试 - 单向链表中间节点(Java & JS & Python & C & C++)
华为OD题库
华为od 链表 java
须知哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持文章目录须知题目描述输出描述解析代码题目描述给定一个单链表L,请编写程序输出L中间结点保存的数据。如果有两个中间结点,则输出第二个中间结点保存的数据。例如:给定L为1→7→5,则输出应该为7;给定L为1→2→3→4,则输出应该为3;输入描述每个输入包含1个测试用例。每个测试用例:第一行给出链表首结点的地址、结点总
python 推导式(派生、衍生)
sanduo112
人工智能 python windows 开发语言
python推导式一、推导式(派生、衍生)1.Python推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。2.列表(list)推导式3.字典(dict)推导式4.集合(set)推导式5.元组(tuple)推导式二、代码概述一、推导式(派生、衍生)1.Python推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。Python支持各种数
数据挖掘|数据预处理|基于Python的数据标准化方法
皖山文武
数据挖掘 数据建模与分析 python 数据挖掘 开发语言
基于Python的数据标准化方法1.z-score方法2.极差标准化方法3.最大绝对值标准化方法在数据分析之前,通常需要先将数据标准化(Standardization),利用标准化后的数据进行数据分析,以避免属性之间不同度量和取值范围差异造成数据对分析结果的影响。1.z-score方法Z-score方法是基于原始数据的均值和标准差来进行数据标准化的,处理后的数据均值为0,方差为1,符合标准正态分布
CSV指南:Python程序获取大型CSV文件行数
孤独打铁匠Julian
笔记 经验分享 python
本指南提供了几种使用Python来获取大型CSV文件行数的方法,并解释了每种方法的适用场景。方法1:使用csv.reader处理复杂CSV文件当你的CSV文件中包含多行字段(即某些字段的值中包含换行符)时,使用csv.reader是一个可靠的选择,因为它能够正确处理这些复杂情况。这个方法适用于大多数大小的CSV文件,但是对于非常大的文件,读取整个文件可能会占用较多的时间和内存。对于极大的文件,考虑
大前端-postcss安装使用指南
黑夜照亮前行的路
postcss
PostCSS是一款强大的CSS处理工具,可以用来自动添加浏览器前缀、代码合并、代码压缩等,提升代码的可读性,并支持使用最新的CSS语法。以下是一份简化的PostCSS安装使用指南:一、安装PostCSS在你的项目目录中,通过npm(NodePackageManager)来安装PostCSS。打开命令行窗口,输入以下命令:bash复制代码npminstallpostcss--save-dev这将把
谷歌浏览器驱动Chromedriver(114-120版本)文件以及驱动下载教程
pigerr杨
Python python chrome drivers
ChromeDriver官方网站GitHub||GoogleChromeLabs/chrome-for-testingChromeDriver113-125_JSONChromeforTestingavailability123-125zip白月黑羽Python基础|进阶|Qt图形界面|Django|自动化测试|性能测试|JS语言|JS前端|原理与安装
虚拟 DOM 的优缺点有哪些
咕噜签名分发
前端 javascript 开发语言
虚拟DOM(VirtualDOM)技术作为现代前端开发中的重要组成部分,已经成为了众多流行前端框架的核心特性。它的引入为前端开发带来了诸多优势,同时也需要我们认真思考其潜在的考量。下面简单的介绍一下虚拟DOM技术的优势与缺点,深入探讨其在实际应用中的影响。提升性能虚拟DOM的最大优势之一是提升页面性能。通过比较前后两次虚拟DOM树的差异,最小化实际DOM操作,从而减少页面重渲染时的性能消耗。这种优
大创项目推荐 深度学习 opencv python 公式识别(图像识别 机器视觉)
laafeer
python
文章目录0前言1课题说明2效果展示3具体实现4关键代码实现5算法综合效果6最后0前言优质竞赛项目系列,今天要分享的是基于深度学习的数学公式识别算法实现该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:4分创新点:4分更多资料,项目分享:https://gitee.com/dancheng-senior/postgraduate1课题
3、JavaWeb-Ajax/Axios-前端工程化-Element
所谓远行Misnearch
# JavaWeb 前端 ajax elementui java 前端框架
P34Ajax介绍Ajax:AsynchroousJavaScriptAndXML,异步的JS和XMLJS网页动作,XML一种标记语言,存储数据,作用:数据交换:通过Ajax给服务器发送请求,并获取服务器响应的数据异步交互:在不重新加载整个页面的情况下,与服务器交换数据并实现更新部分网页的技术,例如:搜索联想、用户名是否可用的校验等等。同步与异步:同步:服务器在处理中客户端要处于等待状态,输入域名
python转码
Desamond
python 开发语言
转码在许多场景中都有应用,以下是一些常见的场景:网页开发:当用户在网页上输入文本时,可能需要将特殊字符(如空格、引号、特殊符号等)进行转码,以防止这些字符对URL或HTML代码产生干扰。文件名处理:在处理文件名时,可能需要将特殊字符进行转码,以避免文件名被错误地解析或显示。数据传输:在数据传输过程中,为了确保数据的完整性和正确性,可能需要将数据中的特殊字符进行转码。数据存储:在数据库或数据存储中,
排序算法太多?常用排序都在这了,一篇文章总结和实现所有面试会考的排序算法(基于Python实现)
宇宙之一粟
不归路之Python # IT面试题收集与总结 数据结构与算法 算法 数据结构 排序算法 python java
文章目录排序算法1.常见的排序算法1.1选择排序1.1.1思想1.1.2实现**1.1.3选择排序分析**1.2冒泡排序**1.2.1思想****1.2.2实现****1.2.3冒泡排序分析**1.3插入排序**1.3.1思想****1.3.2实现****1.3.3插入排序分析**1.4归并排序☆☆★**1.4.1思想****1.4.2实现****1.4.3归并排序分析**1.5快速排序☆★★**
27.Python从入门到精通—Python异常处理 抛出异常 用户自定义异常 定义清理行为 预定义的清理行为
以山河作礼。
# Python基础入门—详解版 python java 服务器
27.从入门到精通:Python异常处理抛出异常用户自定义异常定义清理行为预定义的清理行为异常处理抛出异常用户自定义异常定义清理行为预定义的清理行为异常处理在Python中,异常处理是一种处理程序在执行期间可能遇到的错误的方法。当Python解释器遇到错误时,它会引发异常。异常是一种Python对象,它包含有关错误的信息,例如错误类型和错误位置。为了处理异常,您可以使用try-except语句。在
python清华大学出版社答案_Python机器学习及实践
weixin_39805119
python清华大学出版社答案
第1章机器学习的基础知识1.1何谓机器学习1.1.1传感器和海量数据1.1.2机器学习的重要性1.1.3机器学习的表现1.1.4机器学习的主要任务1.1.5选择合适的算法1.1.6机器学习程序的步骤1.2综合分类1.3推荐系统和深度学习1.3.1推荐系统1.3.2深度学习1.4何为Python1.4.1使用Python软件的由来1.4.2为什么使用Python1.4.3Python设计定位1.4.
Python | Redis工具类
-拟墨画扇-
Python redis 数据库 缓存 python
一、需求自动连接Redis数据库,通过连接池处理数据对输出结果进行Log打印并保存到文件二、代码Utils.redisUtils.py#!/usr/bin/envpython#-*-coding:utf-8-*-importredisfromUtils.loggerimportlog"""Redis数据格式(1)字符串|存储形式:key-value:str-存储二进制数据:可以存储任意类型的数据,
Python dict字符串转json对象,小数精度丢失问题
朝如青丝 暮成雪
json python
一前言JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,dict是Python的一种数据格式。本篇介绍一个float数据转换时精度丢失的案例。二问题描述importjsontest_str1='{"π":3.1415926535897932384626433832795028841971}'test_str2='{"value":10.00000}'print
java实体中返回前端的double类型四舍五入(格式化)
婲落ヽ紅顏誶
java
根据业务,需要通过后端给前端返回部分double类型的数值,一般需要保留两位小数,使用jackson转换对象packagecom.ruoyi.common.core.config;importcom.fasterxml.jackson.core.JsonGenerator;importcom.fasterxml.jackson.databind.JsonSerializer;importcom.f
Django forms组件
在飞行-米龙
Django django python 后端
【一】引入【1】实现登陆验证功能(1)需求分析登陆验证需要前后端交互,采用form表单提交数据对数据进行校验用户名必须以英文大写字母开头密码必须大于三位数反馈给用户错误的信息除了反馈错误的信息还有保留原始输入内容(2)后端代码使用user_info_dict字典每次刷新存储存储前端发送的信息存储后端进行验证的信息defhome(request):#每次后刷新这个信息字典user_info_dict
Python+Requests模拟发送GET请求
爱学习的执念
自动化测试 软件测试 技术分享 python 开发语言
模拟发送GET请求前置条件:导入requests库一、发送不带参数的get请求代码如下:以百度首页为例importrequests#发送get请求response=requests.get(url="http://www.baidu.com")print(response.content.decode("utf-8"))#以utf-8的编码输出内容二、发送带参数的get请求发送带参数的get请求有
Python极速入门:五分钟开启实战之旅!
知白守黑V
Python 编程语言 系统运维 python 编程语言 python开发 python学习 python入门 python数据分析
1.Python基础语法和结构:了解Python的基本语法,包括变量、数据类型、运算符、注释等。控制流:掌握条件语句(if-elif-else)、循环(for和while)及其控制(break和continue)。函数:学习如何定义和使用函数,包括参数传递、返回值、作用域和闭包。模块和包:理解如何导入和使用模块,以及如何创建和使用自己的包。2.数据处理列表、元组和集合:学习这些序列类型的操作和方法
Python Flask 使用数据库
安果移不动
python flask 开发语言
pipinstallflask_sqlalchemy官方文档:Flask-SQLAlchemy—Flask-SQLAlchemyDocumentation(3.1.x)为了不报错也需要导入另外两个库#pipinstallflask_sqlalchemy#pipinstallmysqlclient完整代码importosfromflaskimportFlaskfromflask_sqlalchemy
Web前端Html的表单
任家伟
前端 html
表单的关键字:form标签表示一个表单区域action=“后端地址”method=“提交数据方式:get/post”input单行输入框type=“text”文本name=“定义名称名字自定义”向后端提交的键readonly=“readonly”只读,不可修改,但是可以提交disabled=“disabled”禁用组件不可修改,不能提交type=“password”密码框type=“radio”单
PaperWeekly
sapienst
Papers PaperwithCode General ML
1.Python软件包解决DL在未见过的数据分布下性能差的问题:(1)神经网络和损失分离的模块化设计(2)强大便捷的基准测试能力(3)易于使用但难以修改(4)github:https://github.com/marrlab/domainlabTrainer和Models之间是什么关系Trainer和Models是DomainLab中的两个核心概念。Trainer是一个用于指导数据流向模型并计算S
Thinkphp - 详细实现网站系统登录功能,附带 Mysql 数据库设置、Web 前端展示界面、信息校验等(详细代码,即设计过程)
王佳斌
+ Thinkphp mysql 前端 数据库
前言登录功能,是我们几乎开发每个系统都必须的模块。登录功能设计思路,主要包括几个方面。用户输入网址展示登录页面用户输入用户名,密码等点击登录进行信息校验校验通过之后,记录用户登录信息,跳转指定页面用户校验失败,提示失败信息页面目录具体功能实现为了快速搭建可用、美观的页面,我们采用一个比较成熟的前端框架Bootstrap。下面我们到Bootstrap的官网Bootsrap官网下载bootstrap。
使用Python读取Excel文件并计算平均分
嘻嘻爱编码
Python从入门到放弃 python excel 开发语言
在这篇博客中,我们将探讨如何使用Python的pandas库来读取Excel文件,并计算其中数据的平均分。pandas是一个强大的数据分析工具,它允许我们以简单直观的方式处理表格数据。安装必要的库在开始之前,确保你的环境中安装了pandas和openpyxl库。可以使用以下命令进行安装:pipinstallpandasopenpyxl读取Excel文件首先,我们需要读取Excel文件。假设我们有一
python项目练习——7.网站访问日志分析器
F——
python项目练习 python 信息可视化 数据分析 数据挖掘 开发语言 学习
项目功能分析:这个项目可以读取网站的访问日志文件,统计访问量、独立访客数、访问来源等信息,并以图表或表格的形式展示出来。这个项目涉及到文件操作、数据处理、数据可视化等方面的技术。示例代码:importrefromcollectionsimportCounterimportmatplotlib.pyplotaspltdefparse_log_file(log_file):#读取日志文件内容witho
python的while双重循环九九乘法表
Jinm_R
python 开发语言
a=1whilea<=9:b=1#乘数每次需要从1开始whileb<=a:print(f"{a}*{b}={a*b}\t",end='')#\t为制表符使乘法表整齐end=''代表用空格代替换行b+=1a+=1print()#乘数每加一换行
【Python】成功解决ModuleNotFoundError: No module named ‘torchinfo‘
高斯小哥
BUG解决方案合集 python pytorch 新手入门 学习 debug
【Python】成功解决ModuleNotFoundError:Nomodulenamed‘torchinfo’个人主页:高斯小哥高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程希望得到您的订阅和支持~创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)文
程序员开发技术整理
laizhixue
学习 前端框架
前端技术:vue-前端框架element-前端框架bootstrap-前端框架echarts-图标组件C#后端技术:webservice:soap架构:简单的通信协议,用于服务通信ORM框架:对象关系映射,如EF:对象实体模型,是ado.net中的应用技术soap服务通讯:xml通讯ado.net:OAuth2:登录授权认证:Token认证:JWT:jsonwebtokenJava后端技术:便捷工
web前段跨域nginx代理配置
刘正强
nginx cms Web
nginx代理配置可参考server部分
server {
listen 80;
server_name localhost;
spring学习笔记
caoyong
spring
一、概述
a>、核心技术 : IOC与AOP
b>、开发为什么需要面向接口而不是实现
接口降低一个组件与整个系统的藕合程度,当该组件不满足系统需求时,可以很容易的将该组件从系统中替换掉,而不会对整个系统产生大的影响
c>、面向接口编口编程的难点在于如何对接口进行初始化,(使用工厂设计模式)
Eclipse打开workspace提示工作空间不可用
0624chenhong
eclipse
做项目的时候,难免会用到整个团队的代码,或者上一任同事创建的workspace,
1.电脑切换账号后,Eclipse打开时,会提示Eclipse对应的目录锁定,无法访问,根据提示,找到对应目录,G:\eclipse\configuration\org.eclipse.osgi\.manager,其中文件.fileTableLock提示被锁定。
解决办法,删掉.fileTableLock文件,重
Javascript 面向对面写法的必要性?
一炮送你回车库
JavaScript
现在Javascript面向对象的方式来写页面很流行,什么纯javascript的mvc框架都出来了:ember
这是javascript层的mvc框架哦,不是j2ee的mvc框架
我想说的是,javascript本来就不是一门面向对象的语言,用它写出来的面向对象的程序,本身就有些别扭,很多人提到js的面向对象首先提的是:复用性。那么我请问你写的js里有多少是可以复用的,用fu
js array对象的迭代方法
换个号韩国红果果
array
1.forEach 该方法接受一个函数作为参数, 对数组中的每个元素
使用该函数 return 语句失效
function square(num) {
print(num, num * num);
}
var nums = [1,2,3,4,5,6,7,8,9,10];
nums.forEach(square);
2.every 该方法接受一个返回值为布尔类型
对Hibernate缓存机制的理解
归来朝歌
session 一级缓存 对象持久化
在hibernate中session一级缓存机制中,有这么一种情况:
问题描述:我需要new一个对象,对它的几个字段赋值,但是有一些属性并没有进行赋值,然后调用
session.save()方法,在提交事务后,会出现这样的情况:
1:在数据库中有默认属性的字段的值为空
2:既然是持久化对象,为什么在最后对象拿不到默认属性的值?
通过调试后解决方案如下:
对于问题一,如你在数据库里设置了
WebService调用错误合集
darkranger
webservice
Java.Lang.NoClassDefFoundError: Org/Apache/Commons/Discovery/Tools/DiscoverSingleton
调用接口出错,
一个简单的WebService
import org.apache.axis.client.Call;import org.apache.axis.client.Service;
首先必不可
JSP和Servlet的中文乱码处理
aijuans
Java Web
JSP和Servlet的中文乱码处理
前几天学习了JSP和Servlet中有关中文乱码的一些问题,写成了博客,今天进行更新一下。应该是可以解决日常的乱码问题了。现在作以下总结希望对需要的人有所帮助。我也是刚学,所以有不足之处希望谅解。
一、表单提交时出现乱码:
在进行表单提交的时候,经常提交一些中文,自然就避免不了出现中文乱码的情况,对于表单来说有两种提交方式:get和post提交方式。所以
面试经典六问
atongyeye
工作 面试
题记:因为我不善沟通,所以在面试中经常碰壁,看了网上太多面试宝典,基本上不太靠谱。只好自己总结,并试着根据最近工作情况完成个人答案。以备不时之需。
以下是人事了解应聘者情况的最典型的六个问题:
1 简单自我介绍
关于这个问题,主要为了弄清两件事,一是了解应聘者的背景,二是应聘者将这些背景信息组织成合适语言的能力。
我的回答:(针对技术面试回答,如果是人事面试,可以就掌
contentResolver.query()参数详解
百合不是茶
android query()详解
收藏csdn的博客,介绍的比较详细,新手值得一看 1.获取联系人姓名
一个简单的例子,这个函数获取设备上所有的联系人ID和联系人NAME。
[java]
view plain
copy
public void fetchAllContacts() {
 
ora-00054:resource busy and acquire with nowait specified解决方法
bijian1013
oracle 数据库 kill nowait
当某个数据库用户在数据库中插入、更新、删除一个表的数据,或者增加一个表的主键时或者表的索引时,常常会出现ora-00054:resource busy and acquire with nowait specified这样的错误。主要是因为有事务正在执行(或者事务已经被锁),所有导致执行不成功。
1.下面的语句
web 开发乱码
征客丶
spring Web
以下前端都是 utf-8 字符集编码
一、后台接收
1.1、 get 请求乱码
get 请求中,请求参数在请求头中;
乱码解决方法:
a、通过在web 服务器中配置编码格式:tomcat 中,在 Connector 中添加URIEncoding="UTF-8";
1.2、post 请求乱码
post 请求中,请求参数分两部份,
1.2.1、url?参数,
【Spark十六】: Spark SQL第二部分数据源和注册表的几种方式
bit1129
spark
Spark SQL数据源和表的Schema
case class
apply schema
parquet
json
JSON数据源 准备源数据
{"name":"Jack", "age": 12, "addr":{"city":"beijing&
JVM学习之:调优总结 -Xms -Xmx -Xmn -Xss
BlueSkator
-Xss -Xmn -Xms -Xmx
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:
java -Xmx355
jqGrid 各种参数 详解(转帖)
BreakingBad
jqGrid
jqGrid 各种参数 详解 分类:
源代码分享
个人随笔请勿参考
解决开发问题 2012-05-09 20:29 84282人阅读
评论(22)
收藏
举报
jquery
服务器
parameters
function
ajax
string
读《研磨设计模式》-代码笔记-代理模式-Proxy
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
/*
* 下面
应用升级iOS8中遇到的一些问题
chenhbc
ios8 升级iOS8
1、很奇怪的问题,登录界面,有一个判断,如果不存在某个值,则跳转到设置界面,ios8之前的系统都可以正常跳转,iOS8中代码已经执行到下一个界面了,但界面并没有跳转过去,而且这个值如果设置过的话,也是可以正常跳转过去的,这个问题纠结了两天多,之前的判断我是在
-(void)viewWillAppear:(BOOL)animated
中写的,最终的解决办法是把判断写在
-(void
工作流与自组织的关系?
comsci
设计模式 工作
目前的工作流系统中的节点及其相互之间的连接是事先根据管理的实际需要而绘制好的,这种固定的模式在实际的运用中会受到很多限制,特别是节点之间的依存关系是固定的,节点的处理不考虑到流程整体的运行情况,细节和整体间的关系是脱节的,那么我们提出一个新的观点,一个流程是否可以通过节点的自组织运动来自动生成呢?这种流程有什么实际意义呢?
这里有篇论文,摘要是:“针对网格中的服务
Oracle11.2新特性之INSERT提示IGNORE_ROW_ON_DUPKEY_INDEX
daizj
oracle
insert提示IGNORE_ROW_ON_DUPKEY_INDEX
转自:http://space.itpub.net/18922393/viewspace-752123
在 insert into tablea ...select * from tableb中,如果存在唯一约束,会导致整个insert操作失败。使用IGNORE_ROW_ON_DUPKEY_INDEX提示,会忽略唯一
二叉树:堆
dieslrae
二叉树
这里说的堆其实是一个完全二叉树,每个节点都不小于自己的子节点,不要跟jvm的堆搞混了.由于是完全二叉树,可以用数组来构建.用数组构建树的规则很简单:
一个节点的父节点下标为: (当前下标 - 1)/2
一个节点的左节点下标为: 当前下标 * 2 + 1
&
C语言学习八结构体
dcj3sjt126com
c
为什么需要结构体,看代码
# include <stdio.h>
struct Student //定义一个学生类型,里面有age, score, sex, 然后可以定义这个类型的变量
{
int age;
float score;
char sex;
}
int main(void)
{
struct Student st = {80, 66.6,
centos安装golang
dcj3sjt126com
centos
#在国内镜像下载二进制包
wget -c http://www.golangtc.com/static/go/go1.4.1.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.4.1.linux-amd64.tar.gz
#把golang的bin目录加入全局环境变量
cat >>/etc/profile<
10.性能优化-监控-MySQL慢查询
frank1234
性能优化 MySQL慢查询
1.记录慢查询配置
show variables where variable_name like 'slow%' ; --查看默认日志路径
查询结果:--不用的机器可能不同
slow_query_log_file=/var/lib/mysql/centos-slow.log
修改mysqld配置文件:/usr /my.cnf[一般在/etc/my.cnf,本机在/user/my.cn
Java父类取得子类类名
happyqing
java this 父类 子类 类名
在继承关系中,不管父类还是子类,这些类里面的this都代表了最终new出来的那个类的实例对象,所以在父类中你可以用this获取到子类的信息!
package com.urthinker.module.test;
import org.junit.Test;
abstract class BaseDao<T> {
public void
Spring3.2新注解@ControllerAdvice
jinnianshilongnian
@Controller
@ControllerAdvice,是spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强。让我们先看看@ControllerAdvice的实现:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Co
Java spring mvc多数据源配置
liuxihope
spring
转自:http://www.itpub.net/thread-1906608-1-1.html
1、首先配置两个数据库
<bean id="dataSourceA" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close&quo
第12章 Ajax(下)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
BW / Universe Mappings
blueoxygen
BO
BW Element
OLAP Universe Element
Cube Dimension
Class
Charateristic
A class with dimension and detail objects (Detail objects for key and desription)
Hi
Java开发熟手该当心的11个错误
tomcat_oracle
java 多线程 工作 单元测试
#1、不在属性文件或XML文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在DEV环境中,还是UAT(用户验收
测试)环境中,都可以顺畅无阻地运行,但是一旦部署在PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因可能是JDBC驱动版本不同,也可能是#2中讨论的问题。如果线程数目 可以在属性文件中配置,那么使它成为
推行国产操作系统的优劣
yananay
windows linux 国产操作系统
最近刮起了一股风,就是去“国外货”。从应用程序开始,到基础的系统,数据库,现在已经刮到操作系统了。原因就是“棱镜计划”,使我们终于认识到了国外货的危害,开始重视起了信息安全。操作系统是计算机的灵魂。既然是灵魂,为了信息安全,那我们就自然要使用和推行国货。可是,一味地推行,是否就一定正确呢?
先说说信息安全。其实从很早以来大家就在讨论信息安全。很多年以前,就据传某世界级的网络设备制造商生产的交