自增

自增 ++

  • 通过自增可以使变量在自身的基础上增加1
  • 对于一个变量自增以后,原变量的值会立即自增1

    无论使a++, 还是++a,都会立即使原变量的值自增1.

    不同的是a++ 和++a的值不同。

    a++的值的等于原变量的值

    ++a的值是原变量自增后的值
  1. var a=1;
  2. console.log("a++ =" +a++);//输出1
  3. console.log("++a = "+ ++a);//输出3
  4. console.log("a =",3);//输出3
  5. a=10
  6. r=a++ +a+ ++a
  7. console.log("r =",r); //10+11+12

输入参数

  1. var s=prompt("请输入一个数字")
  2. console.log("你输入的数字是",s);

立即执行函数

  1. // //立即执行函数只能执行一次
  2. // (function() {
  3. // console.log("hello dj");
  4. // })();
  5. var obj=new Object();
  6. var name="孙悟空";
  7. var gender="男";
  8. var age=18;
  9. obj.name=name;
  10. obj.sayName=function() {
  11. console.log(obj.name);
  12. };
  13. // 调方法
  14. obj.sayName();
  15. for (var n in obj)
  16. {
  17. console.log(obj[n]);
  18. }
  19. //console.log(window);

条件运算符

  1. /*
  2. 语法:
  3. 条件表达式?语句1:语句2
  4. true执行条件1
  5. flase执行条件2
  6. */
  7. //true?alert("语句1"):alert("语句2");
  8. var a=10;
  9. var b=20;
  10. var max=a>b?a:b
  11. console.log(max);
  12. a > b ?alert("a大"):alert("b大");

条件语句

  1. var num = parseInt(prompt("请输入一个数字"))
  2. switch (num) {
  3. case 3:
  4. alert("233");
  5. case 2:
  6. alert("2")
  7. default:
  8. alert("else");
  9. }

循环语句

  1. /*
  2. 位运算符在js中的妙用:
  3. 1、使用&运算符判断一个数的奇偶
  4. 偶数 & 1 = 0
  5. 奇数 & 1 = 1
  6. 那么0&1=0,1&1=1
  7. */
  8. var s = 0;
  9. var m=0
  10. for (var a = 0; a <= 100; a++) {
  11. if (a & 0x1==1) {
  12. s = s + a;//奇数之和
  13. }
  14. else{
  15. m = m + a; //偶数之和
  16. }
  17. }
  18. console.log(s);
  19. console.log(m);

对象

  1. //关系明确的对象
  2. // 内建对象
  3. // 宿主对象
  4. // 自定义对象
  5. // 创建对象
  6. var obj=new Object();
  7. var name="孙悟空";
  8. var gender="男";
  9. var age=18;
  10. //可以通过点属性名给对象复制
  11. obj.name=name
  12. obj.gender=gender
  13. obj.age=age
  14. // 对象的引用 开辟一块堆空间 内存地址(指针)
  15. var obj2=obj;
  16. console.log(obj);
  17. // 对象的属性名 obj.property
  18. console.log(obj.name);
  19. console.log(obj.ht);// 如果读取的属性不存在就输出undefined
  20. // 删除属性
  21. delete obj.name
  22. console.log("obj",obj);
  23. console.log("obj2",obj2);
  24. console.log(obj==obj2)
  25. //创建对象的时候给对象赋值
  26. obj3={
  27. "name":"张三",
  28. "age":10,
  29. "gender":"女",
  30. "test":obj
  31. }
  32. console.log(obj3);
  33. //打印对象实际是打印对象的toString()方法返回值
  34. // 类型python的__repr__方法
  35. obj3.toString=function(){
  36. return "返回值123"
  37. };
  38. console.log(obj3.toString());

GC垃圾回收机制

  1. // 定义了不用就是垃圾。占内存空间
  2. // js也有类型python的自动垃圾回收机制。
  3. //将不在使用的对象设置成null。
  4. var obj=new Object()
  5. obj=null;

判断

  1. console.log(undefined==null);
  2. // NaN不等于NaN,使用isNaN可以判断
  3. /*=== 全等 不会做类型转换。
  4. 相反!== 不全等
  5. */
  6. console.log("123"==123); //true
  7. console.log("123"===123);// false

函数

  1. // 主要规范化代码,封装代码。
  2. // var func=new Function("console.log(233);");
  3. // func();
  4. //以上代码只能在命令行或者html页面使用,不推荐使用。
  5. //用下面的方法
  6. function a(b) {
  7. console.log("hello dj");
  8. return b;
  9. }
  10. //调用
  11. get_a=a("233")
  12. console.log(get_a);
  13. //匿名函数并传参数。
  14. (function(a, b) {
  15. console.log("this is an anonymous function", a, b);
  16. }
  17. )(2, 3)
  18. //对上面的代码进行修改
  19. var foo = (function(a, b) {
  20. console.log("foo call this is anonymous function", a, b);
  21. }
  22. )
  23. foo(2, 3);
  24. //函数参数

判断奇偶性

  1. //原理偶数和1进行与运算为0
  2. //奇数和1进行与运算为1
  3. function foo(num){
  4. if (num&0x1==0)
  5. {
  6. alert("num是偶数");
  7. }
  8. else{
  9. alert("num是奇数");
  10. }
  11. }
  12. var s=prompt("请输入一个数字");
  13. foo(parseInt(s));

this

  1. /*
  2. this是个隐藏的参数。
  3. 根据函数调用方式的不同
  4. 1.以函数的形式调用时,this永远都是window
  5. 2.以方法的形式调用时,this是调用方法的那个对象
  6. 函数的形式调用:下面的fun
  7. 方法的形式调用:下面的fun2
  8. */
  9. function fun() {
  10. console.log("fun this", this);
  11. }
  12. fun()
  13. // 等价于
  14. //window.fun()
  15. function fun2() {
  16. console.log("fun2 this", this);
  17. }
  18. var obj = {
  19. "name": "张三",
  20. "age": 10,
  21. "gender": "女",
  22. "sayName": fun2
  23. }
  24. obj.sayName();
  25. var obj2 = {
  26. "name": "张四",
  27. "age": 10,
  28. "gender": "女",
  29. "sayName": fun2
  30. }
  31. obj2.sayName();
  32. //------------华丽的分割线---------------------
  33. function createPerson(name, age, gender) {
  34. var obj = new Object();
  35. obj.name = name
  36. obj.age = age
  37. obj.gender = gender
  38. obj.sayName = function() {
  39. alert(this.name)
  40. }
  41. return obj
  42. }
  43. var obj2=createPerson("张三1",10,'男')
  44. var obj3=createPerson("张三2",10,'男')
  45. var obj4=createPerson("张三3",10,'男')
  46. obj3.sayName();

构造函数

  1. /*
  2. 构造函数执行流程
  3. 1.立即创建一个新的对象
  4. 2.将新建的对象设为函数中this
  5. 3.逐行执行函数中的代码
  6. 4.将新建的对象作为返回值
  7. */
  8. function Person(name,age,gender){
  9. // this就是当前实例化对象,类似python的this
  10. this.name=name
  11. this.age=age
  12. this.gender=gender
  13. }
  14. function Dog(){
  15. }
  16. var per=new Person("张三",14,"女"); //构造函数实例化
  17. var per2=new Person("莉丝",14,"女");
  18. var dog=new Dog();
  19. console.log(per instanceof Person);
  20. //instanceof类似python的isinstance,可以判断对象的所属类型
  21. console.log(dog);

原型

  1. /*/prototype
  2. //我们创建函数的时候,会自动加一个prototype属性
  3. //这个属性对应着一个对象,这个对象就是原型对象。
  4. //当函数以构造函数的形式存在时,它所创建的对象都有一个隐含的属性
  5. //指向该构造函数的原型对象,可以通过__proto__来访问该属性
  6. 使用原型就不用创建多个函数了*/
  7. function Person() {}
  8. var p = new Person();
  9. var p2 = new Person();
  10. Person.prototype.a = 123
  11. //将对象中的公共内容,统一设置到原型对象。
  12. Person.prototype.sayName = function() {
  13. console.log(this.__proto__);
  14. }
  15. console.log(p.__proto__ == Person.prototype);
  16. console.log(p.__proto__ == p2.__proto__);
  17. console.log(p.a)
  18. console.log(p2.a)
  19. //访问公共区域原型里的值。
  20. console.log(p2.sayName())
  21. //访问公共区域原型里的值。
  22. //------------华丽的分割线---------------------
  23. function Myclass() {}
  24. Myclass.prototype.name = "lisa"
  25. var mc = new Myclass();
  26. console.log(mc.__proto__);
  27. console.log(Myclass.hasOwnProperty("name"));
  28. mc.name="233"
  29. console.log(mc.hasOwnProperty("name"));
  30. //原型的原型一般找2层
  31. console.log("what",mc.__proto__.__proto__.hasOwnProperty("hasOwnProperty"))
  32. //再往上就是null了
  33. //proto的原型object,object的原型null
  34. console.log("what",mc.__proto__.__proto__.__proto__)

数组

  1. // 下标从0开始,如果访问的索引不存在返回undefined
  2. //不要创建下标不连续的数组
  3. var a = new Array();
  4. a[0] = "1"
  5. a[1] = "2"
  6. //获取数组的长度length属性
  7. console.log("before a=", a.length);
  8. // 同时可以修改数组的长度
  9. a.length = 10
  10. console.log("after a=", a.length);
  11. a.length = 2
  12. //往数组最添加元素
  13. a[a.length]="3"
  14. console.log("a", a);
  15. //--------------华丽的分割线-----------------
  16. /*通过字面量的形式创建,同时可以进行赋值,数组里面的元素类型不限制
  17. 推荐
  18. new Array也可以同时添加元素,元素之间逗号隔开
  19. */
  20. var arr=[1,2,4,5,"hello",document,true,[24,4]]
  21. console.log(arr);
  22. //数组的方法
  23. //向数组末尾添加一个或多个元素push。
  24. //返回值是数组新的长度
  25. var arr2=["1","A","s",3]
  26. arr2.push(false)
  27. arr2.push(false,1,"as",function(){})
  28. console.log("arr2 = ",arr2)
  29. //删除数组末尾元素 pop。
  30. //返回被删除的元素
  31. //向数组开头添加一个或多个元素unshift()
  32. //其他元素索引重新调整
  33. //删除数组第一个元素 shift()。
  34. //返回被删除的元素

数组遍历

  1. var arr = ["1", "A", "s", 3]
  2. arr.push(false)
  3. arr.push(false, 1, "as", function() {})
  4. // console.log("arr2 = ",arr2)
  5. for (var a = 0; a < arr.length; a++) {
  6. console.log(arr[a])
  7. }
  8. //map的形式
  9. arr.map(v=>{
  10. console.log("v =", v);
  11. }
  12. )
  13. //forEach的形式
  14. arr.forEach(v=>{
  15. console.log("v =", v);
  16. }
  17. )

数组去重

  1. var arr = [1, 2, 3, 4, 5, 5, 6]
  2. var arr2 = []
  3. for (var a = 0; a < arr.length; a++) {
  4. item=arr[a];
  5. if (arr2.indexOf(item)>-1) {
  6. console.log("重复元素",item);
  7. } else {
  8. console.log("item=",item);
  9. arr2.push(item);
  10. }
  11. }
  12. console.log(arr2);
  13. //判断元素是否存在用indexOf 不用in。

数组遍历值forEach的使用

  1. var arr = ["1", "A", "s", 3]
  2. arr.push(false)
  3. arr.push(false, 1, "as", function() {})
  4. // console.log("arr2 = ",arr2)
  5. //forEach的形式,IE8以下不支持。
  6. // arr.forEach(function(v){
  7. // console.log("v =", v);
  8. // });
  9. //以上可以简写成下面的方式:
  10. arr.forEach(v=>{
  11. console.log("v =", v);
  12. }
  13. )
  14. //----------
  15. /*三个参数
  16. 1.就是当前遍历的元素
  17. 2.当前遍历的索引
  18. 3.正在遍历的数组
  19. */
  20. arr.forEach(function(v,a,b){
  21. console.log("v =", v);
  22. console.log("a =", a);
  23. if (a==1)
  24. {
  25. console.log("b =", b);
  26. }
  27. });

数组的几个方法

  1. //sort
  2. /*
  3. 默认是根据unciode的顺序判断的,所以判断数字的时候需要自己定义规则。
  4. 函数的返回值a-b>0 顺序排列
  5. */
  6. arr=[11,2,3]
  7. console.log(arr.sort(
  8. function(a,b){return a-b}
  9. ));
  10. //concat
  11. /*链接两个数组*/
  12. arr2=[4,6,9,"hehe"]
  13. console.log("arr2",arr2.concat(arr));
  14. //join 类似python的join
  15. console.log(arr2.join(""));//拼接的时候数字会被转成字符串
  16. //reverse
  17. 数组的逆转

函数的调用之call和apply方法的使用

  1. /*
  2. apply
  3. call都是调用函数
  4. 和直接调用函数的区别是可以指定this的类型。
  5. 后面跟实参
  6. */
  7. /*
  8. this是个隐藏的参数。
  9. 根据函数调用方式的不同
  10. 1.以函数的形式调用时,this永远都是window
  11. 2.以方法的形式调用时,this是调用方法的那个对象
  12. 3.以构造函数的形式调用时,this是新创建的对象
  13. 4.使用call和apply调用时,this是指定的那个对象。
  14. */
  15. var obj={"name":"obj"};
  16. function a(c,d){
  17. console.log(this,c,d);
  18. }
  19. a();
  20. a.call(obj,2,3);
  21. a.apply(obj,4,5);

arguments

  1. //arguments
  2. /*
  3. 是一个类数组对象
  4. 在调用函数 时,我们传递的实参都在arguments中保存
  5. 不管是否定义形式参数,传递参数都可以在arguments的
  6. 实参中体现出来
  7. arguments的callee属性会打出当前函数体。
  8. */
  9. function func(){
  10. a=arguments[0]
  11. b=arguments[1]
  12. console.log(arguments.callee);
  13. console.log(arguments,a,b);
  14. }
  15. func("2",3);

日期相关内建函数操作

  1. // Date时间对象
  2. var d=new Date(); //当前代码执行的时间
  3. console.log(d);
  4. // 指定时间对象
  5. //日期格式 月/日/年 时:分:秒
  6. //年份如果不完整会由于不同的浏览器产出歧义,所以写四位的年。
  7. var d2=new Date("12/01/2019 11:10:09")
  8. console.log(d2);
  9. //以下是在d2的基础上进行操作的
  10. //获取当前日期的日。
  11. var date=d2.getDate();
  12. var day=d2.getDay();
  13. console.log("date =",date);
  14. console.log("day =",day);//0-6的值,0表示周日 依次类推。
  15. // 返回0-11值,0表示1月。以此类推。
  16. var month=d2.getMonth();
  17. console.log("month =",month);
  18. //获取完整年。
  19. var fullyear=d2.getFullYear();
  20. console.log("fullyear =",fullyear);
  21. //----------华丽的分割线
  22. //getTime获取unixtime
  23. //格林威治时间1970年1月1日0时0分0秒(和北京差8小时)到现在的毫秒数
  24. var time=d.getTime();
  25. console.log(time);
  26. //获取当前时间戳
  27. start=Date.now()
  28. for(var a=0;a<1000;a++)
  29. {
  30. console.log("可以根据结束时间减去开始时间计算运行时间")
  31. }
  32. console.log("上面的循环运行时间为",Date.now()-start);

Math工具类

  1. var a=Math.sqrt(2);
  2. var b=Math.cos(Math.PI);
  3. console.log("圆周率",Math.PI)
  4. console.log("根号2",a);
  5. console.log("cos 兀",b);
  6. //ceil向上取整 天花板
  7. //floor向下取整 地板
  8. //round 四舍五入
  9. //random随机数类型python。
  10. //生成x-y的随机数
  11. //Math.round(Math.random()*y-x)+x
  12. //比如生成1-6直接的随机数
  13. for(var i=0;i<10;i++)
  14. {
  15. var num=Math.round(Math.random()*5)+1;
  16. console.log(num);
  17. }
  18. //max最大值
  19. //min最小值
  20. //pow 幂运算
  21. var s=Math.pow(2,4);
  22. console.log(s);

字符的操作

  1. var a="hello dj"
  2. //字符串是以字符数组的形式保存的。
  3. //可迭代对象,类型python
  4. for(var i=0;i<a.length;i++)
  5. {
  6. console.log(a[i]);
  7. }
  8. /*charAt
  9. 根据索引获取指定字符,类似取下标的方式。
  10. */
  11. b=a.replace("h","H")
  12. b2=a.replace("l","H")
  13. console.log(b2);
  14. /*charCodeAt
  15. 根据索引获取指定字符的unicode编码值,类似取下标的方式。
  16. */
  17. var a="公众号:python学习开发"
  18. console.log(a.charCodeAt(2));
  19. //String.fromCharCode根据编码取字符
  20. var b=String.fromCharCode(0x2687);
  21. console.log(b);
  22. //concat连接字符串,作用和+一样。
  23. //indexOf
  24. /*可以检查字符串中是否有指定内容,
  25. 找不到指定内容返回-1
  26. 第2个参数可以指定开始查找的位置。
  27. 其实针对可迭代对象都能用,
  28. a.indexOf(b)>0的形式使用相当于python in的功能。
  29. */
  30. console.log(a.indexOf("h"));
  31. //lastIndexOf
  32. /*
  33. -从后往前找。
  34. */
  35. console.log(a.lastIndexOf("o"));
  36. //slice 切片
  37. /*
  38. 负数从后面算起 -1表示倒数第一数起。
  39. */
  40. console.log(a.slice(1,4));
  41. //substring
  42. console.log(a.substring(1,4));
  43. //slice和substring功能没区别,但是substring不能用负数。
  44. //如果第2个参数小于第一个参数,可以自动调换位置。
  45. //substr()
  46. //用来截取字符串,第二个参数表示截取的数量。
  47. console.log(a.substr(0,14));
  48. //split() 同python。根据指定字符拆分数组
  49. //默认逗号分隔。
  50. console.log(a.split(":"));
  51. //toUpperCase 全部转为大写
  52. console.log(a.toUpperCase());
  53. //toLowerCase 全部转为小写
  54. console.log(a.toUpperCase().toLowerCase());

正则表达式

  1. //主要注意和python中的使用区别
  2. /*
  3. 参数1:正则表达式
  4. 参数2:匹配模式
  5. */
  6. // var str="\w+"
  7. // var reg=new RegExp(str,'g')
  8. //简写,字面量的形式 var 变量=/正则表达式/匹配模式
  9. var reg=/^12345$/g;
  10. //使用test可以检查字符串是否符合正则表达式的规则
  11. //只是检查类似python的sub
  12. var result=reg.test("12345")
  13. console.log(result)
  14. //split可以传递正则表达式作为参数
  15. var s="a2d5g7b 9d9"
  16. console.log(s.split(/\d/));//匹配数字
  17. //search 可以传入正则表达式检测字符串
  18. console.log(s.search(/\s/)) //匹配空格
  19. //match 提取
  20. //默认只能找一个匹配字符
  21. // 设置正则为全局匹配模式即可,返回数组结果
  22. //类似python的findall
  23. var s1="a2d5g7b \\9d9"
  24. console.log(s1) //上的\被转义了所以下面匹配到了一个\
  25. console.log(s1.match(/[0-9]/g).join(""))
  26. console.log(s1.match(/\\/g)); //匹配到了一个\
  27. /*
  28. 正则表达式:(?<=(href=")).{1,200}(?=(">))
  29. 解释:(?<=(href=")) 表示 匹配以(href=")开头的字符串,并且捕获(存储)到分组中
  30. (?=(">)) 表示 匹配以(">)结尾的字符串,并且捕获(存储)到分组中
  31. 爬虫用的最多的一种(?<=href=)(.*?) (?=alt)
  32. */
  33. var html='<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />'
  34. url=html.match(/(?<=href=)(.*?) (?=type)/g)
  35. console.log(url[0]);
  36. //replace() 替换
  37. phonereg=/^1[3-9][0-9]{9}$/
  38. //匹配原子字符需要用\转义
  39. var reg=/\./
  40. console.log(html.match(reg));
  41. //正则需要长期的一个积累 没必要刻意学习,现用现找即可。
  42. // var c=prompt("请输入你的名字");
  43. // var condition=c.search(/[\u4e00-\u9fa5]/g);
  44. // if (c.search(/[\u4e00-\u9fa5]/g)>-1)
  45. // {
  46. // alert("你输入的内容是:"+c);
  47. // }
  48. // else
  49. // {
  50. // alert("请输入中文,谢谢!");
  51. // }
  52. //电子邮件匹配
  53. //经常面试问
  54. //+ 一次或多次
  55. var qq="1598828268@163.com"
  56. console.log(qq.match(/^\w{3,}(\.\w+)*@[A-z0-9]+\.([A-z])+/g)) //简单类型

js学习笔记--基础部分的更多相关文章

  1. three.js学习笔记--基础知识

    基础知识 从去年开始就在计划中的three.js终于开始了 历史介绍 (摘自ijunfan1994的转载,感谢作者) OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库. WebGL是基于Op ...

  2. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  3. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  4. WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)

    WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...

  5. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  6. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  7. WebGL three.js学习笔记 6种类型的纹理介绍及应用

    WebGL three.js学习笔记 6种类型的纹理介绍及应用 本文所使用到的demo演示: 高光贴图Demo演示 反光效果Demo演示(因为是加载的模型,所以速度会慢) (一)普通纹理 计算机图形学 ...

  8. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  9. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

随机推荐

  1. Properties读取properties配置文件

    package cn.rocker.readProperties; import java.io.IOException; import java.io.InputStream; import jav ...

  2. flask session

    flask session工作机制: 把敏感数据经过加密后放入到‘session’中,然后在把'session'存放到cookie中,下次请求的时候,再从浏览器发送过来的cookie中读取sessio ...

  3. zookeeper kafka集群

    一.部署zookeeper集群 三台机器上执行相同的操作 mkdir -p /data/zookeeper cd zookeeper-3.4.6 cp zoo_sample.cfg zoo.cfg [ ...

  4. nfs环境搭建报错clnt_create: RPC: Program not registered

    有时候搭建完成后,使用showmount -e ip检测服务端服务器情况的是,会出现clnt_create: RPC: Program not registered 这个错误,表示rpc程序为注册成功 ...

  5. Java面试题全集(下)转载

    Java面试题全集(下)   这部分主要是开源Java EE框架方面的内容,包括hibernate.MyBatis.spring.Spring MVC等,由于Struts 2已经是明日黄花,在这里就不 ...

  6. Eclipse 常用技巧及常见问题解决

    文章目录 Eclipse默许函数折叠打开 Eclipse插件: win7屏蔽ctrl+alt+up/down快捷键/ (eclipse冲突) 去掉 eclipse 中自动生成的注释 //TODO 常见 ...

  7. Ubuntu修改Apache默认Web端口

    改成你要的端口,默认为80,这里我改成了8080,https改成了444,保存之后寻找000/default.conf并修改成和ports.conf文件一样的http端口,然后重启Apache服务器即 ...

  8. Chrome DevTools: Color tricks in the Elements Panel

    shift + click to change the color format Tip one The Colour Platters are customeised for you .they s ...

  9. ibatis项目启动报错The string "--" is not permitted within comments【原】

    该错误主要就是因为xml中<!-- [注释]--> 注释与-->之间没有空格造成xml解析错误 sqlMapConfig.xml内容如下 <?xml version=" ...

  10. HDU 1031(服装打分 **)

    题意是有 n 个人要对 m 件服装打分,按总分从高到低排序,再将总分排在前 k 名的服装按编号的从高到低输出,结构体排序. 代码如下: #include <bits/stdc++.h> u ...