JavaScript学习整理(转载)
JavaScript的学习整理(一)
目录:
1.换皮肤功能
2.显示/隐藏(点击切换)
3.显示/隐藏(onmouseover/onmouseout)
4.选项卡
5.全选/不选/反选(checkbox)
6.简易日历
1、换肤功能——实质是改变链接的css文件
step 1.先通过id获取需要修改的部分(link); step 2.通过 href 改变 需要链接的css文件;
下面我写了一个小的代码,只是用于改变页面背景颜色来供大家参考学习。
- <input type="button" value="skin1" onclick="skin_1()"/>
- <input type="button" value="skin2" onclick="skin_2()"/>
- <script>
- function skin_1()
- {
- var oL=document.getElementById('11');
- oL.href="1.css";
- }
- function skin_2()
- {
- var oL=document.getElementById('11');
- oL.href="2.css";
- }
- </script>
其中,1.css文件:
- body{
- background:#2A5698;
- }
2.css 文件:
- body{
- background:pink;
- }
2、显示隐藏效果(点击切换)
其中,none:隐藏 block:显示
- <input type="button" value="显示/隐藏" onclick="showHide()"/>
- <div id="div1">点击显示,点击隐藏</div>
- <style>
- #div1{width:200px; height:100px; background:lightblue; display:none;}
- </style>
- <script>
- function showHide()
- {
- var oDiv=document.getElementById('div1');
- if(oDiv.style.display=='block')
- {
- oDiv.style.display='none';
- }
- else
- {
- oDiv.style.display='block';
- }
- }
- </script>
3、显示/隐藏(当鼠标悬浮在区域时显示文字,离开则隐藏效果)
- <input type="text" value="显示/隐藏" onmouseover="document.getElementById('div2').style.dispaly='block';" onmouseout="document.getElementById('div2').style.display='none';">
- <div id="div2">这里是需要显示的内容:</div>
- <style>
- #div2{width:200px; height:100px; background:green; }
- </style>
4、选项卡
选项卡:主要是改变 当前显示的div,通过改变className。 用到的知识有:①循环;②初始化;③this指针;
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta charset="utf-8">
- <title>JAVAscript</title>
- </head>
- <body>
- <div id="div3">
- <input class="active" type="button" value="教育"/>
- <input type="button" value="培训"/>
- <input type="button" value="招生"/>
- <input type="button" value="出国"/>
- <br/>
- <div style="display:block;">11111</div>
- <div>22222</div>
- <div>33333</div>
- <div>44444</div>
- </div>
- <style>
- #div3 .active{background:yellow;}
- #div3 div{width:300px; height:200px;border:1px solid green;background:lightpink;display:none;}
- </style>
- <script>
- /*
- *4、选项卡:主要是改变 当前显示的div,通过改变className。
- */
- window.onload=function()
- {
- var oDiv=document.getElementById('div3');
- var aBtn=oDiv.getElementsByTagName('input');
- var aDiv=oDiv.getElementsByTagName('div');
- for(var i=0;i<aBtn.length;i++)
- {
- aBtn[i].index=i;
- aBtn[i].onclick=function()
- {
- for(var i=0;i<aBtn.length;++i)
- {
- //初始化
- aBtn[i].className='';
- aDiv[i].style.display='none';
- }
- //alert(this.value);
- this.className='active';
- aDiv[this.index].style.display='block';
- };
- }
- };
- </script>
- </body>
- </html>
5、全选/不选/反选
选择--checked 其中:checked=true 勾选, checked=false 不选, **注意没有引号。
- <input type="button" id="btn11" value="全选"/>
- <input type="button" id="btn22" value="不选"/>
- <input type="button" id="btn33" value="反选"/> <br/>
- <div id="div4">
- <input type="checkbox">1<br/>
- <input type="checkbox">2<br/>
- <input type="checkbox">3<br/>
- <input type="checkbox">4<br/>
- <input type="checkbox">5<br/>
- <input type="checkbox">6<br/>
- </div>
- <script>
- /*
- *7、选择--checked
- *checked=true 勾选, checked=false 不选,
- *注意没有引号。
- */
- window.onload=function()
- {
- var But1=document.getElementById('btn11');
- var But2=document.getElementById('btn22');
- var But3=document.getElementById('btn33');
- var oDiv=document.getElementById('div4');
- var oCh=oDiv.getElementsByTagName('input');
- //全选
- But1.onclick=function()
- {
- for(var i=0;i<oCh.length;i++)
- {
- oCh[i].checked=true;
- }
- };
- //不选
- But2.onclick=function()
- {
- for(var i=0;i<oCh.length;i++)
- {
- oCh[i].checked=false;
- }
- };
- //反选
- But3.onclick=function()
- {
- for(var i=0;i<oCh.length;i++)
- {
- if(oCh[i].checked==false)
- {oCh[i].checked=true;}
- else
- {oCh[i].checked=false;}
- }
- };
- };
- </script>
6、简易日历
简易日历:(综合应用) 涉及到的知识点有:①循环;②数组;③选项卡切换;④this.index;⑤innerHTML
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta charset="utf-8">
- <title>JAVAscript</title>
- <style>
- #div5{height:650px;width:370px;border:1px solid black;font-family:Arial;
- font-size:15px;background:#E6E6E4;}
- #div5 li{list-style-type:none;border:1px solid gray;width:90px;height:90px;float:left;margin-right:5px;
- margin-top:5px;background:black;color:white;}
- .text{margin-left:40px;margin-top:0px;width:285px;height:200px;border:1px solid #F7F7F5;float:left;background:#EEEEEE;}
- #div5 .active{background:white;color:#BC647B;border:1px solid black;}
- </style>
- <pre name="code" class="html"></head>
- <body>
- <div id="div5">
- <center>
- <ul>
- <li class="active"><h2>1</h2><p>JAN</p></li>
- <li><h2>2</h2><p>FEB</p></li>
- <li><h2>3</h2><p>MAR</p></li>
- <li><h2>4</h2><p>APR</p></li>
- <li><h2>5</h2><p>MAY</p></li>
- <li><h2>6</h2><p>JUN</p></li>
- <li><h2>7</h2><p>JUL</p></li>
- <li><h2>8</h2><p>AUG</p></li>
- <li><h2>9</h2><p>SEP</p></li>
- <li><h2>10</h2><p>OTC</p></li>
- <li><h2>11</h2><p>NOV</p></li>
- <li><h2>12</h2><p>DEC</p></li>
- </ul>
- <br/><br/>
- <div class="text">
- <h2>1月活动</h2>
- <p>一月活动... </p>
- </div>
- </center>
- </div>
- <script>
- /**
- *6、简易日历:
- 涉及:①循环;②数组;③选项卡切换;④this.index;⑤innerHTML
- */
- window.onload=function()
- {
- var arr=['一月活动...','二月活动...','三月活动...','四月活动...','五月活动...','六月活动...','七月活动...','八月活动...','九月活动...','十月活动...','十一月活动...','十二月活动...'];
- var oDiv=document.getElementById('div5');
- var aLi=oDiv.getElementsByTagName('li');
- var aTxt=oDiv.getElementsByTagName('div')[0];
- for(var i=0;i<aLi.length;++i)
- {
- aLi[i].index=i;
- aLi[i].onmouseover=function()
- {
- for(var i=0;i<aLi.length;++i)
- {
- aLi[i].className='';
- }
- this.className='active';
- aTxt.innerHTML="<h2>"+(this.index+1)+"月活动</h2><p>"+arr[this.index]+"</p>";
- };
- }
- };
- </script>
- </body>
- </html>
javascript的学习整理(二)——小练习
题目要求:
1. 请设计一个HTML文档,文档名为html1.htm,当打开该文档时,将显示出如下的页面:
该页面为一表格:
姓名 数学 计算机 外语 总分
张三 78 92 85 255
此处总分是通过计算得到!
还有两个按钮 “修改成绩” 和“关闭窗口”
要求:1).当点击“关闭窗口”时,提示“确定关闭窗口?”,点击确定则关闭当前窗口。
2).当点击“修改成绩”按钮时,可以在屏幕的中心位置打开html2.htm文档,
html2页面为一表格,文档结构如下:
数学 计算机 外语
文本框1 文本框2 文本框3
三个文本框:分别供输入数学、计算机、外语三门课的新成绩。
另有一个按钮:“修改数据”。 点击此按钮时,提示“是否确定修改?”,如果确定则修改。将所输入的新成绩修改到父窗口中的相应位置,同时重新计算总分的值。
HTML1:
- <!doctype html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8">
- <title>第三题</title>
- <style>
- table{width:400px;height:60px; text-align:center;}
- input{width:55px;height:20px;}
- .div1{width:400px;height:120px;}
- #btn1{cursor:pointer;width:70px;height:30px;}
- #btn2{cursor:pointer;width:70px;height:30px;}
- /*#A{text-decoration:none;}*/
- </style>
- <script language="javascript">
- //自定义提示关闭窗口
- function custom_close()
- {
- if(confirm("确定关闭窗口?"))
- {
- window.opener=null;
- window.open('',' _self ');
- window.close();
- }
- else{}
- }
- function EntryPoint()
- {
- var style = 'dialogHeight:600px;dialogWidth:800px;center:Yes;status:no;help:0;scrool:yes';
- var a = window.showModalDialog('html2.html', '', style);
- //var a=window.showModalDialog("html2.html?temp="+Math.random(),"",style);
- if (a == undefined)
- {
- a = window.returnValue;
- }
- // debugger;
- if (a != null && a.length > 0)
- {
- document.getElementById("math").value = a[0];
- document.getElementById("computer").value = a[1];
- document.getElementById("English").value = a[2];
- document.getElementById("sum").value =parseInt(a[0])+parseInt(a[1])+parseInt(a[2]);
- }
- }
- </script>
- </head>
- <body>
- <div class="div1">
- <table>
- <tr>
- <th>姓名</th>
- <th>数学</th>
- <th>计算机</th>
- <th>外语</th>
- <th>总分</th>
- </tr>
- <tr>
- <td>张三</td>
- <td><input type="text" name="math" id="math" value="78" style="border:0px;"/></td>
- <td><input type="text" name="computer" id="computer" value="92" style="border:0px;"/></td>
- <td><input type="text" name="English" id="English" value="85" style="border:0px;"/></td>
- <td><input type="text" name="sum" id="sum" value="255" style="border:0px;"/></td>
- </tr>
- </table>
- <br/>
- <center>
- <input type="button" value="修改成绩" id="btn1" onclick="EntryPoint()"/>
- <input type="submit" value="关闭窗口" id="btn2" onClick="custom_close()" />
- </center>
- </div>
- </body>
- </html>
HTML2:
- <!doctype html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>html2</title>
- <style>
- input{width:60px;}
- #btn1{cursor:pointer;width:70px;height:30px;}
- </style>
- <script type="text/javascript">
- function postValue()
- {
- alert("是否确定修改?");
- var math = document.getElementById("math").value;
- var computer = document.getElementById("computer").value;
- var English = document.getElementById("English").value;
- var a = new Array();
- a[0] = math;
- a[1] = computer;
- a[2]=English;
- //debugger;
- if (window.opener != undefined)
- {
- //for chrome
- window.opener.returnValue = a;
- }
- else
- {
- window.returnValue = a;
- }
- window.close();
- }
- </script>
- </head>
- <body>
- <table>
- <tr>
- <th>数学</th>
- <th>计算机</th>
- <th>外语</th>
- </tr>
- <tr>
- <td><input type="text" name="math" id="math"/></td>
- <td><input type="text" name="computer" id="computer"/></td>
- <td><input type="text" name="English" id="English"/></td>
- </tr>
- </table>
- <input type="button" value="修改数据" id="btn1" onclick="postValue();"/>
- </body>
- </html>
javascript的学习整理(三)
目录 :
1、函数传参(arguments)
2、css函数的应用
3、获取非行间样式
4、数组的应用
5、json与数组的比较
1、函数传参:arguments---参数个数不确定。 arguments相当于数组。
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta charset="utf-8">
- <title>arguments的使用</title>
- <script>
- window.onload=function()
- {
- function sum()
- {
- var result=0;
- for(var i=0;i<arguments.length;i++)
- {
- result+=arguments[i];
- }
- return result;
- }
- //alert(sum(2,3,4,5));
- alert(sum(2,3,4,5,6,7,8));
- };
- </script>
- </head>
- <body></body>
- </html>
2、css函数的使用:
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta charset="utf-8">
- <title>arguments的使用</title>
- <script>
- /*
- *2、css函数:①判断arguments.length;----通过参数的长度来判断是获取样式还是设置样式。②给参数取名。增强可读性。
- *
- * css(对象,'属性')------获取样式;
- * css(对象,'属性','属性值')-------设置样式
- */
- function css(obj,name,value)
- {
- if(arguments.length==2)
- {
- return obj.style[name];
- }
- else
- {
- obj.style[name]=value;
- }
- }
- window.onload=function()
- {
- var oDiv=document.getElementById('div1');
- //alert(css(oDiv,'width')); //获取样式
- css(oDiv,'background','lightblue');//设置样式;
- };
- </script>
- </head>
- <body>
- <div id="div1" style="width:200px;height:100px;background:pink;">
- 2、css函数示例。
- </div>
- </body>
- </html>
3、获取非行间样式:
① oDiv.style.width------获取行间样式
② oDiv.currentStyle.width------获取非行间样式-----------兼容性问题:只兼容IE。
③ getComputedStyle(oDiv,false).width;----火狐+chrome;(第二个参数false处,可写任意东西)-------在IE下不兼容。
④ 用if语句来解决兼容性问题
- if(oDiv.currentStyle)
- {
- //IE
- alert(oDiv.currentStyle.width);
- }
- else
- {
- //Firefox chrome
- alert(getComputedStyle(oDiv,fasle).width);
- }
⑤ 将常用的功能封装成一个函数,方便调用使用;
- function getStyle(obj,name)
- {
- if(oDiv.currentStyle)
- {
- //IE
- return obj.currentStyle[name];
- }
- else
- {
- //Firefox chrome
- alert(getComputedStyle(obj,fasle).[name];
- }
- }
使用时:
getStyle(oDiv,width);
⑥ 复合样式:background、border等
单一样式:width、height、backgroundColor等
上述函数只能用于单一样式参数的提取。
4、数组的应用:
(1)定义:
- var a=[1,2,3,4,5,6];
- var a=new Array(1,2,3,4,5,6);
(2)常用属性的使用:length-----即可获取,也可设置
(3)数组的使用方法
a.push(元素); //在数组尾部添加元素;
a.pop(); //在数组尾部删除元素;
a.shift(); //在数组头部删除元素;
a.unshift(元素);//在数组头部添加元素;
a.splice(起点,长度);//从(起点)开始删除(长度)个元素;
a.splice(起点,0,元素,元素...);//从(起点)开始添加元素;
a.plice(起点,长度,元素...);//替换
例子:
- <script>
- var a=[1,2,3,4,5,6];
- //a.push(10); //a=[1,2,3,4,5,6,10]
- //a.pop(); //a=[1,2,3,4,5]
- //a.shift(); //a=[2,3,4,5,6]
- //a.unshift(9);//a=[9,1,2,3,4,5,6]
- //a.splice(2,2);//a=[1,2,5,6];
- //a.splice(2,0,'x','b','c');//a=[1,2,x,b,c,3,4,5,6]
- a.splice(2,2,'x','b');//a=[1,2,x,b,5,6]
- //alert(a);
- </script>
(4)数组的链接concat
- var a=[1,2,3];
- var b=[4,5,6];
- a.concat(b); //1,2,3,4,5,6
- b.concat(a); //4,5,6,1,2,3
(5)数组的拼接join
- a.join('-'); //1-2-3(拼接符是 - )
- a.join('--p');//1--p2--p3(拼接符是 --p)
- //拼接符号可以自由设置
(6)数组的排序sort---只认识字符串
①字符串的排序:从左向右按字母顺序排序。
- var arr=['float','width','height','color'];
- arr.sort();
- alert(arr); //arr=['color','float','height','width']
②数字的排序:----将数字当字符串处理
- var arr=[12,114,8,24,245];
- arr.sort();
- alert(arr); //arr=[114,12,24,245,8]
改进:------处理数字
- arr.sort(function(n1,n2)
- {
- if(n1<n2)
- {
- return -1;
- }
- else if(n1>n2)
- {
- return 1;
- }
- else
- {
- return 0;
- }
- });
简化:
- arr.sort(function(){
- return n1-n2;
- });
5、json与数组之间的比较
①什么是json?
- <script>
- /*
- *注意事项:
- *1、json类似于数组,但是使用的事花括号{};
- *2、定义:var json={变量名:变量值, 变量名:变量值,....};
- *3、提取json中的元素:json.变量名
- *4、提取到的元素可以进行相应的处理
- */
- var json={a:12,b:7,c:'xdef'};
- // alert(json.a); //提取json中的元素
- json.b++; //对json中的元素b进行自增处理
- alert(json.b);
- </script>
②区别
- var arr=[1,3,4];
- var json={a=1,b=3,c=4};
- alert(arr[0]); //弹出1
- alert(json.a); //弹出1
- alert(json['a']); //弹出1
由上可以观察出:区别1:json的下标是字符,而数组的下标是数字
- //循环(两种表示):
- //① 使用到length
- for(var i=0;i<arr.length;i++)
- {
- alert('第'+i+'个东西:'+arr[i]);
- }
- //② 未使用到length
- for(var i in arr)
- {
- alert('第'+i+'个东西:'+arr[i]);
- }
- for(var i in json)
- {
- alert('第'+i+'个东西:'+json[i]);
- }
区别2:json没有length,而数组有length;(涉及循环的使用)。所以json循环时用 for --in 结构。
JavaScript的学习整理(四)
目录:
1、类型转换
2、全局变量
3、命名规范
4、运算符(%)的使用
1、类型转化(强制类型转换)
- var a='12';
- parseInt(a); //a=12(字符串转化成数字)
- parseFloat(a);//转换成浮点数
功能:从左到右开始扫描,碰见非数字的字符时就跳出。
例子:
- var a='12px';
- parseInt(a);//a=12
- var a='23pn45';
- parseInt(a);//a=12
(1) isNAN(a); 判断变量a是否为NAN;
应用:求两数之和;
- <input type="text" id='txt1'/>
- <input type="text" id='txt2'/>
- <input type='button' id='btn1' value="求和"/>
- <script>
- window.onload=function()
- {
- var oTxt1=document.getElementById('txt1');
- var oTxt2=document.getElementById('txt2');
- var oBtn1=document.getElementById('btn1');
- oBtn1.onclick=function()
- {
- var n1=parseInt(oTxt1.value);
- var n2=parseInt(oTxt2.value);
- if(isNaN(n1))
- {
- alert("您输入的第一个值有误!请重新输入");
- }
- else if(isNaN(n2))
- {
- alert("您输入的第二个值有误!请重新输入");
- }
- else
- {
- alert(n1+n2);
- }
- };
- };
- </script>
(2)隐式类型转换
== 先转换类型,然后再进行比较;
=== 直接进行比较。
例子:
- var a=2;
- var b='2';
- alert(a==b); //true
- alert(a===b);//false
- //所以一般最好用'==='(三个等号)来进行比较,更加严谨。
(3)+ :①字符串链接 ②数字相加
- :只有数字相减的功能
- var a='12';
- var b='3';
- alert(a+b); //123
- alert(a-b); //9
2、全局变量
- <script>
- var a=3;//全局变量(在任何地方都能使用和修改)
- function aaa()
- {
- a=12;
- }
- function bbb()
- {
- a+=12;
- }
- aaa();
- bbb();
- //alert(a);//弹出24
- </script>
3、命名规范:
类型 前缀 类型
数组 a Array
布尔值 b Boolean
浮点数 f Float
函数 fn Function
整数 i Integer
对象 o Object
字符串 s String
变体变量 v Variant
4、运算符(%)
例子1:隔行变色
- <ul>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- </ul>
- <script>
- window.onload=function()
- {
- var aLi=document.getElementsByTagName('li');
- for(var i=0;i<aLi.length;i++)
- {
- if(i%2==0)
- {
- aLi[i].style.background='#CCC';
- }
- else
- {
- aLi[i].style.background='';
- }
- }
- };
- </script>
例子2:秒转时间
- var a=125;
- alert(parseInt(a/60)+'分'+a%60+'秒'); //2分5秒
JavaScript学习整理(转载)的更多相关文章
- 【JavaScript学习整理】DOM对象(location history screen navigator)
DOM: 描述网页各个组成部分之间的关系. parentNode: 父节点 childNode: 子节点 firstChild: 第一个子节点 lastChild: 最后一个子节点 nextSibli ...
- 【JavaScript学习整理】js基础
HTML,CSS属于标记语言, JavaScript是基于客户端的脚本语言. 变量: 语法 var 变量名 = value var是系统内部关键字,用来声明变量 变量名规则: 1.不能以数字开头 ...
- JavaScript学习总结-技巧、有用函数、简洁方法、编程细节
整理JavaScript方面的一些技巧.比較有用的函数,常见功能实现方法,仅作參考 变量转换 //edit http://www.lai18.com var myVar = "3.14159 ...
- JavaScript 精髓整理篇之一(对象篇)postby:http://zhutty.cnblogs.com
废话篇头: 由于工作关系,所以写博文的时间有那么点~~,其实是输入法太懒了,都是输入法的错~~ 这一系列的博客将总结所有关于JavaScript语言的精髓,适合0基础到大师级别人物阅读. <Ja ...
- Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- JavaScript学习(3):函数式编程
在这篇文章里,我们讨论函数式编程. 什么是函数式编程?根据百度百科的描述,“函数式编程是种编程典范,它将电脑运算视为函数的计算.函数编程语言最重要的基础是 λ 演算(lambda calculus). ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿JavaScript学习笔记(2——复制和继承财产)
计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...
- Java程序猿的JavaScript学习笔记(3——this/call/apply)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
随机推荐
- 《深入理解Java虚拟机》笔记02 -- 垃圾收集算法
1. 标记 - 清除算法 先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象.它是最基础的收集算法.其他收集算法都是根据其思路,改进其不足之处. 缺点:1) 标记和清除两个阶段的效率都不 ...
- [Xcode 实际操作]七、文件与数据-(4 )遍历文件夹中的文件
目录:[Swift]Xcode实际操作 本文将演示如何遍历文件夹下的内容. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit class V ...
- vue、React Nactive的区别(转载)
Vue与React的对比 Vue.js与React.js从某些反面来说很相似,通过两个框架的学习,有时候对一些用法会有一点思考,为加深学习的思索,特翻阅了两个文档,从以下各方面进行了对比,加深了对这两 ...
- $("body").animate({"scrollTop":top})无效的问题
问题 我在个人站点的左下角和右下角各自使用了如下代码来将页面滚动到顶部和底部: $("body").animate({scrollTop:0},800); $("body ...
- VxWorks实验六 基于优先级的抢占式调度及实验的源程序和实验步骤
基于优先级的抢占式调度及实验的源程序和实验步骤 1 实验目的 1.学习并验证基于优先级的抢占式调度2 实验内容 在实验一建立的 project 中,创建3 个任务,对这三个任务使用基于优先 ...
- postman的安装和使用方法详解
文章来源:http://www.cnplugins.com/tool/specify-postman-methods.html 非官网安装 这是一种直接通过打包已经安装的扩展程序的方式,来进行我认为的 ...
- vim如何删除行首、行位空格、空格行
删除空格行: 非编辑状态下输入:g/^$/d 删除行首空格: 非编辑状态下输入:%s/^\s*//g 删除行尾空格: 非编辑状态下输入:%s/\s*$//g
- Codeforces Round #566 (Div. 2) A. Filling Shapes
链接: https://codeforces.com/contest/1182/problem/A 题意: You have a given integer n. Find the number of ...
- c++笔记3
一基本语法: 1.1 字符串:支持标准C的 const char* pch=0/"";//不指向任何对象和指向空字符串.C++提供的string类可提供字符串的所有操作,最好是融合 ...
- abp(net core)+easyui+efcore仓储系统——ABP总体介绍(一)
在前面我已经介绍了ASP.NET MVC.ASP.NET Razor.WEBAPI等技术.我准备通过一个实践项目来整体应用一下之前介绍的技术.本系列是介绍基于ABP+EasyUI的Web开发框架的形成 ...