当前位置: 首页 > 编程日记 > 正文

与jQuery的感情碰撞——由浅入深学jQuery

原来的时候自己看过jQuery,但是对于什么是jQuery,除了知道jQuery是一种javascript类库外,除了会用几个网页特效外,其他的我这真的是不知道啊。眼看自己就要找工作了,所以自己需要好好学习一下,系统的了解一下。学习了一天,下面把我学习到的精华写给大家,如果有什么错误,希望大家给予指正。

我们学习jQuery之前,必须好好的学习javascript,如果不会javascript的话,jQuery还是不会学的很好的。

一、下面先了解什么是javascript。javascript需要学习什么,

JavaScript是一种通用的脚本编程语言,也是一种基于对象(object)和事件驱动(event Driven)并具有安全性能的脚本语言,JavaScript代码嵌套在HTML页面中,它把静态页面变成支持用于交互并相应事件的活页面。现在很难找到一个不包含JavaScript代码的商业站点页面,在其它类型的站点页面中,也可能找到JavaScript代码。

可是我们怎么快速学习的javascript脚本语言啊,真正的IT编程人员不需要了解很深的javascript,这是一个根本所在,我在这里只是点名学习javascript需要学习的内容,不详细描述。学习javascript就是学习一种语言,但是我们都知道语言现在都是基本相同的,只是看我们对API怎么操作而已。

(1)首先将javascript中的基本概念弄懂弄通。如变量\数组等.

(2)学习一下javascript的对象,扩展,封装。

(3)浏览器DOM编程,只要将基本概念弄懂了,再学这个就不太难了,因为浏览器DOM就是各种对象的集合。

剩下的时间就是自己的努力了,只要你好好学习,多加练习,把javascript搞懂的话,你将一定是个高手。

二、认识jQuery

对于新手想知道是jQuery,其实jQuery就是javascript的库文件的,她帮助我们做了很多麻烦的东西,只要javascript学好了,jQuery一天就能够学会。

jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

三、有步骤的学习jQuery

1、学习jQuery的选择器,什么是选择器,我们需要了解,在javascript中,我们如果想要获取html中标签的值,我们就会用到DOM中的一些东西,例如

document.getElementById("标签ID").value;

但是在jQuery中我们只是用到了一个符号就可以完成这么长的单词拼写。

$("#标签ID").val();

好好的比较一下是不是下面的很简单啊,好了,废话不说了,切入正题,选择器我们需要学习的是css选择器(标签选择器,ID选择器,类选择器,群组选择器,后代选择器,通配选择器)

由于本文主要讲解的是jQuery的选择器,jQuery的选择器完全继承了CSS的风格。所以对于CSS选择器不重复说明

(1)基本选择器

标签选择器,ID选择器,类选择器

$("input").css("backgroundColor","Red");//将标签为input的背景颜色设为红色

$("#myDiv").css("backgroundColor","Red");//将ID为myDiv的背景颜色设为红色

$(".myclass").css("backgroundColor","Red");//将类名为myclass的背景颜色设为红色

但是这里需要说清楚的是ID选择器>类选择器>标签选择器

<script type="text/javascript">$("#Text1").css(" backgroundColor","Red");$(" .txt").css(" backgroundColor","Green");$(" input").css ("backgroundColor","Black");</script >
<input id="Text1" type="text" class="txt" />
<input type="text" class="txt" />

大家如果懂得上面的规则后,就会一定知道两个标签的背景颜色

(2)层次选择器

例如:

$("body div") .css("backgroundColor","Red");//改变body中所有div标签的背景色
$("body>div") .css("backgroundColor","Red");//改变body中字div标签的背景色
$(".one+div") .css("backgroundColor","Red");//改变class为.one的下一个同辈div标签的背景色
$("#two~div") .css("backgroundColor","Red");//改变id为two的所有同辈div标签的背景色

(3)基本选择器

包括(:first,:last, :not(selector),  :even,  :odd,  :eq(selector),  :gt(selector),  :lt(selector),  :header,  :animated,  :focus)

例如:

$("div:first") .css("backgroundColor","Red");//改变第一个div标签的背景色
$("div:not(.one)") .css("backgroundColor","Red");//改变class不为one的div标签的背景色
$("div:even") .css("backgroundColor","Red");//改变c索引值为偶数的div标签的背景色
$("div:header") .css("backgroundColor","Red");//改变所有标题元素的的背景色
$("div:focus") .css("backgroundColor","Red");//改变获得焦点元素的的背景色

(4)内容选择器

(:contains(text),  :empty,  :has(selector),  :parent)

例如:

$("div:contains(di)").css("backgroundColor","Red");//改变含有文本“di”的div标签的背景色
$("div:empty").css("backgroundColor","Red");//改变不包含子元素的div标签的背景色
$("div:parent").css("backgroundColor","Red");//改变包含子元素的div标签的背景色

(5)可见性选择器

$("div:visible").css("backgroundColor","Red");//改变所有可见的div标签的背景色

(6)属性选择器

$("body div") .css("backgroundColor","Red");//改变body中所有div标签的背景色
$("div[title=test]").css("backgroundColor","Red");//改变属性title值为test的div标签的背景色
$("div[title*=s]").css("backgroundColor","Red");//改变属性title值包含s的div标签的背景色
$("div[title^=s]").css("backgroundColor","Red");//改变属性title值以s开头的div标签的背景色

(7)子元素过滤器

$("div.one :nth-child(2)").css("backgroundColor","Red");//改变每个class为one的<div>的父元素下的第二个子元素的背景色
$("div.one :first-child").css("backgroundColor","Red");//改变每个class为one的<div>的父元素下的第一个子元素的背景色
$("div.one :only-child").css("backgroundColor","Red");//如果class为one的<div>的父元素下只有一个子元素,改变这个子元素的背景色

(8)表单过滤器

$("#form1 input :enabled") .val("123");//改变表单内可用的<input>元素的值

(9)表单选择器

$("#form1 :input ") .val("23");//改变表单内单行文本框的值

2、jQuery中的DOM操作

jQuery的DOM操作是个很重要的东西,包括很多经常用到的东西,

例如:对于节点操作:创建节点(创建元素节点,创建属性节点,创建文本节点),插入节点(append,after,before,insertBefore),删除节点(remove,empty,),复制节点,替换节点,包裹节点。

还有属性操作,样式操作(获取设置样式,追加样式,删除样式,切换样式等),遍历节点(children(),next(),prev(),siblings(),)

例如:var $para=$("p");//获取属性

var p_text=$para.attr("title");设置属性

$("p").removeAttr("title");//删除<p>元素的属性title

这个地方必须看开发手册才行,用到哪里就看哪里,这里不详细介绍

3、jQuery的事件和动画

(1)加载DOM

$(window).load(function(){ ……})   等价于javascript中的    window.οnlοad=function(){……}

$(document).ready(function(){……}) 等价于 $(function(){……});

(2)事件绑定(移除事件和绑定事件差不多)

例如:

$(function(){$("#panel1 h5.head").bind("click",function(){ //绑定方式if($(this).next().is(":visible")){$(this).next().hide();}else{$(this).next().show();}   });
  
  
  $("#panel1 h5.head").click(function(){  //简写方式if($(this).next().is(":visible")){$(this).next().hide(); 
    }else{
      $(this).next().show();
    }
  });

});
<div id="panel1"><h5 class="head">这是什么</h5><div class="content">……………………………………………………<div> </div>

上面内容实现的功能是:当反复点击“标题”链接时,内容会在显示和隐藏中切换

(3)合成事件

$(function(){$("#panel1 h5.head").hover(function(){  //hover方法$(this).next().hide();},function(){$(this).next().show();} });
  
  
   $("#panel1 h5.head").toggle(function(){  //toogle方法$(this).next().hide();},function(){$(this).next().show();} });

});

(4)事件冒泡

这里简要的讲一下事件冒泡,事件冒泡是多个嵌套元素响应一个事件时,产生的效果,如果停止事件冒泡采用event.stopPropagation();  等价于 return false;

还有阻止默认行为:event.preventDefault();  等价于 return false;

(5)jQuery中的动画

主要的方法是 show(),hide(),fadIn(),fadeOut(),animate(),toggle(),slideToggle(),fadeTo(),fadeToggle()

其实jQuery的动画就是对前面知识点的应用,没有什么新鲜的,这里不多说,上传一个整体实例供大家参考

<!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/1999/xhtml">
<head><title></title><style type="text/css">p,button,label{font-size:12px}img{position:absolute;left:10px;top:500px;}span{color:Red;font-weight:bold;padding:6px;}</style><script src="js/jquery-1.8.0.js" type="text/javascript"></script><script type="text/javascript">var fn = function () {//定义函数并存储在变量fn中var q = $("img").queue("fx");//获取附加在图片上的动画队列
            $("span").text(q.length);}$(function () {$.fx.off = $("input#off").is(":checked");//根据复选框状态设置$.fx.off的属性
            $("button#run").click(function () {//对run按钮绑定click事件
                $("img").animate({ left: "+=456", top: "+=35" }, 4000, fn)//创建自定义动画
                .animate({ left: "-=168", top: "-=50" }, 2000, fn).delay(1000).animate({ left: "+=136", top: "-=30" }, 2000, fn).animate({ left: "-=196", top: "-=10" }, 2000, fn)fn();});$("button#add").click(function () {//对add按钮绑定click处理事件
                $("img").queue("fx", function () {//向图片的动画队列中添加两个动画
                    $(this).animate({ height: "+=30", width: "+=50" }, 1500, fn).animate({ height: "-=30", width: "-=55" }, 1500, fn).dequeue();//执行动画队列中的下一个函数
                });});$("button#stop").click(function () {//对stop按钮绑定click处理事件
                $("img").stop(true, true);//停止图片正在执行动画
            });$("input#off").click(function () {//对off复选框绑定click事件处理程序if (this.checked) $("img").clearQueue();//若选中了复选框,则清除动画队列
                $.fx.off = this.checked//根据复选框状态设置$.fx.off
            });});</script>
</head>
<body><p align="center"><button id="run">运行动画</button><button id="add">添加动画</button><button id="stop">停止动画</button><label><input id="off" type="checkbox" />禁止动画</label></p><p align="center">动画队列的长度为<span>0</span></p><img src="images/3.gif" alt=""/>
</body>
</html>

(6)键盘事件操作

其实这里也是没有什么重点的东西,就是前面知识点的应用,写个例子,大家看看

<!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/1999/xhtml">
<head><title>键盘事件应用实例</title><style type="text/css">div.container{font-size:12px;font-family:Verdana;height:100px;width:368px;margin:0 auto;text-align:center;overflow:scroll;border:2px solid #999;}span{color:Red;font-weight:bold;margin:6px;}</style><script src="js/jquery-1.8.0.js" type="text/javascript"></script><script type="text/javascript">$(function () {$(document).keydown(function (e) {//对文档绑定keydown处理程序var code = "<div align='center'>按键代码=<span>" + e.which + "</span></div>";$("div.container").append(code);});$(document).keyup(function (e) {//对文档绑定keyup处理程序if (e.which == 113)//若按下了<ESC>键
                    $("div.container").html("");//清除container元素内容
            });$(document).keypress(function (e) {//对文档对象绑定keypress处理程序var char = ",字符=<span>" + String.fromCharCode(e.which)+ "</span>";$("div.container>div:last").append(char);});});</script>
</head>
<body><p align="center">从键盘上按下某个键,或输入某个字符(按<b>F2</b>键清除内容(好像在IE中可以,其他的浏览器好像不行))</p><div class="container"></div>
</body>
</html>

(7)鼠标事件操作

<!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/1999/xhtml">
<head><title>鼠标事件应用程序</title><style type="text/css">div.demo{height:103px;width:330px;margin:0 auto;padding:6px;border:2px solid #999;overflow:scroll;}p,div{font-size:12px;}#xy{background-color:Yellow;height:120px;width:358px;border:3px inset red; margin:0 auto;text-align:center;line-height:120px;font-family:Georgia;}</style><script src="js/jquery-1.8.0.js" type="text/javascript"></script><script type="text/javascript">function getTime() {//定义函数计算时间var date = new Date();var time = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds() + "." + date.getMilliseconds();return time;}$(function () {var button = ["左键", "中键", "右键"];$("div.demo").click(function (e) {//对div绑定click事件处理程序var msg = getTime(e.timeStamp) + ":<b>单击鼠标</b>" + "</br>";$(this).append(msg).scroll()}).dblclick(function () {//对div绑定dblclick事件处理程序
                $(this).html("");}).mousedown(function (e) {//对div绑定mousedown事件处理程序var msg = getTime(e.timeStamp) + ":<b>按下鼠标" + button[e.which - 1] + "</b><br/>";$(this).append(msg).scroll()}).mouseup(function (e) {//对div绑定mouseup事件处理程序var msg = getTime(e.timeStamp) + ":<b>按下鼠标" + button[e.which - 1] + "</b><br/>";$(this).append(msg).scroll()}).scroll(function () {//对div绑定scroll事件处理程序
                $(this).scrollTop($("div.demo").find("b").length * 12);}).mouseenter(function (e) {//对div绑定mouseup事件处理程序var msg = getTime(e.timeStamp) + ":<b>触发"+e.type+"事件</b><br/>";$(this).append(msg).scroll()}).mouseleave(function (e) {//对div绑定mouseup事件处理程序var msg = getTime(e.timeStamp) + ":<b>触发" + e.type + "事件</b><br/>";$(this).append(msg).scroll()}).mouseover(function (e) {//对div绑定mouseup事件处理程序var msg = getTime(e.timeStamp) + ":<b>触发" + e.type + "事件</b><br/>";$(this).append(msg).scroll()}).mouseout(function (e) {//对div绑定mouseup事件处理程序var msg = getTime(e.timeStamp) + ":<b>触发" + e.type + "事件</b><br/>";$(this).append(msg).scroll()})});$(function () {$("#xy").mousemove(function (e) {var msg = "e.pageX=" + e.pageX + ",e.pageY=" + e.pageY;$(this).html(msg);});});</script>
</head>
<body><p align="center">请用鼠标左键或右键单击下面的方框(双击清除内容)</p><div class="demo"></div><p align="center">请在下面方框中移动鼠标</p><div id="xy"></div>
</body>
</html>

4、jQuery与Ajax

这一小结是最重要的,由于前面专门一节讲的是Ajax与ASP.Net,在这里不再重复,请访问: 学习.net与ajax的详细案例总结

在这里添加一个很重要的知识点,

jQuery中的AJax全局事件

我们是否平时上网的时候主要到这么个细节,当网站还没有加载完毕时,会显示  “加载中……”的字样,这是怎么实现的,就是通过AJax全局事件实现的

<div id="loading">加载中……</div>$("#loading").AjaxStart(function(){$(this).show(); 
});$("#loading").AjaxStop(function(){$(this).hide(); 
});   //这里也可以使用连式写法//如果想使某个页面其他Ajax不受全局Ajax的影响,使用:$.ajax({url:"……";global:false;  
});//在jQuery1.5版本之后,如果Ajax请求不触发全局方法,可以设置:$.ajaxPrefilter(function(){options.global=true; 
})

5、jQuery的插件的使用和写法

(1)表单验证插件(Validation)但是默认语言是英语,如果想要其显示汉语,只需要引入中文信息验证库。

(2)jQuery表单插件(Form),核心方法是ajaxForm(),ajaxSubmit(),能够很容易将表单升级为Ajax提交方式,这里不细说

(3)模态窗口插件(SimpleModel)

(4)Cookie插件(很好用)

不细说,添加代码

<!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/1999/xhtml">
<head><title></title><script src="js/jquery-1.9.1.js" type="text/javascript"></script><script src="js/jquery.cookie.js" type="text/javascript"></script><script type="text/javascript">$(function () {$("#btnWrite").click(function () {$.cookie("myText", $("#Text1").val());});$("#btnRead").click(function () {$("#Text1").val($.cookie("myText"));});$("#btnDing").click(function () {if ($.cookie("isding") == "true") {alert("不能重复顶");return;}alert("");$.cookie("isding", "true", { expires: 1 })//会话Cookie
});setInterval(function () {var myNote = $("#myNote").val();$.cookie("myNote", myNote, {expires:7});}, 5000);});</script>
</head>
<body><input id="Text1" type="text" /><input id="btnWrite" type="button" value="写入" /><input id="btnRead" type="button"value="读取" /><input id="btnDing" type="button" value="顶" /><textarea rows="20" height="20" id="myNote"></textarea>
</body>
</html>

(5)jQuery UI

(6)自定义jQuery插件

jQuery插件机制是提供了两个用于jQuery扩展的方法,jQuery.ftn.extend(),jQuery.extend().

这里自己可以上网查看资料,不在这里细说。

jQuery的基本内容就是这些,就看你掌握了多少,就看你会不会用,如果学的比较好的话,可以自己写一个自定义jQuery插件,还是自己写的东西适合自己开发用。

转载于:https://www.cnblogs.com/myhappylife/archive/2013/05/20/3088136.html

相关文章:

线程互斥和同步-- 互斥锁

一. 线程分离我们一般创建的线程是可结合的&#xff0c;这个时候如果我们调用pthread_jion()去等待的话&#xff0c;这种等待的方式是阻塞式等待&#xff0c;如果主线程一直等待&#xff0c;主线程就无法做其他的事情了&#xff0c;所以应该使用线程分离&#xff0c;让子线程由…

calipso是什么意思_眰恦是什么意思?

展开全部眰恦作为一个不常见到的词&#xff0c;其实出自一本同名小说的书名。眰恦读作zh shng &#xff0c;在书中62616964757a686964616fe59b9ee7ad9431333433656665的意思就是&#xff0c;目光所至&#xff0c;心之所向&#xff0c;皆是你。眰&#xff0c;单字意思是视&#…

一个mongosee例子

var express require(express),mongoose require(mongoose); //引入mongoose模块 //连接mongodb数据库 nodejs为数据库名称 mongoose.connect(mongodb://localhost/nodejs);//获取Schema 以及 ObjectId 对象 var Schema mongoose.Schema,ObjectId Schema.ObjectId;//创建一…

mongoDB入门

**使用了不存在的对象&#xff0c;即创建该对象use db 使用db数据库 show dbs 查看当前服务器中写在磁盘上的数据库 show tables 查看数据库中的collection db 查看当前使用的数据库1.增删改查&#xff1a; 增&#xff1a;db.collection.insert({数据}) 自动生成 _id : ObjectI…

哈希--直接定值法和除留取余法

1. 哈希是一种算法&#xff0c;哈希表是用哈希算法构造出来的一种数据结构2. 哈希算方法的几种方法直接定值法 这里有一个例题&#xff0c;就是我们想判断某一字符串中&#xff0c;某一个字符出现的个数&#xff0c;我们可以使用哈希的思想&#xff0c;就是可以遍历一遍字符串&…

两条波浪线符号_四年级数学上册第二单元“线的认识”作业单(附带答案)

“线的认识”作业单一、线段、射线和直线。1.“线段、射线和直线”之间的联系与区别。名称形状长度端点关系2.表示方法&#xff1a;分别画出一条线段、射线和直线&#xff0c;并用字母进行表示。3.概念&#xff1a; (1) (2) (3) 二、相交与垂直1.概念&#xff1a;(1) (2)表示方…

CTime类小结1

参考&#xff1a;http://www.cnblogs.com/chuncn/archive/2009/03/12/1409261.html CTime类1&#xff0e;构造和初始化CTime类对象CTime类有下列构造函数&#xff1a;CTime&#xff08; &#xff09;;CTime&#xff08; const CTime& timeSrc &#xff09;;CTime&#xff0…

oracle数据库动态与静态注册

oracle数据库动态与静态注册 动态注册:1.服务名来自于参数文件中的service_names或者是db_name与db_domain的组合;2.实例名来自与参数文件中的instance_name;3.动态注册不需要listener.ora监听文件支持;4.实例状态为READY或BLOCKED;静态注册:1.服务名来自于监听文件中的GLOBAL_…

如何实现流畅观影体验?视频类应用内存和CPU大调查

如果把手机内存和CPU想象成固定面积的田地&#xff0c;单个应用对内存和CPU的占用则可比喻为个人的一亩三分地儿。当应用内存和CPU占用过高时&#xff0c;便过多占用了整个田地资源&#xff0c;挤压了邻家应用的面积&#xff0c;那么手机能够同时运行的应用的数量就会相应减少。…

dmol3给定关键字不在字典中_python中的数据结构与算法(2):字典与集合

1. 字典是什么字典是便于信息检索的一种数据结构&#xff0c;鉴于信息检索在程序中无处不在&#xff0c;字典的使用场景也非常广泛&#xff0c;包括许多 python 内部机制的实现&#xff0c;也依赖字典结构&#xff0c;比如命名空间的管理等。检索一般是根据关键字查找与它关联的…

HTTP项目1.0 -- HTTP协议基础知识

一. HTTP之URL篇首先来看一下&#xff0c;我们一般在上网的时候&#xff0c;地址栏中经常会显示的信息&#xff0c;这里就举一些简单的例子https://www.baidu.comhttps://113.2.7.58.25/a/b/c.html从上面的简单的例子我们把url分成了以后的几个部分&#xff0c;请看下图第一个协…

SQL Server 远程无法连接

1. 查看默认1433端口是否已经开启。转载于:https://www.cnblogs.com/jiajinyi/archive/2013/05/21/3091091.html

WCF客户端不能用在Using语句块中,因为它可能会抛出不可预知的异常。即使你捕获了异常,仍有可能一直保持连接。...

WCF客户端不能用在Using语句块中&#xff0c;因为它可能会抛出不可预知的异常。即使你捕获了异常&#xff0c;仍有可能一直保持连接。让我们来看看形成这一问题的历史原因&#xff0c;并提出几个补救措施。 在.NET中&#xff0c;资源管理的基础就是IDisposable和Using语句块。除…

关于 MongoDB 与 SQL Server 通过本身自带工具实现数据快速迁移 及 注意事项 的探究...

背景介绍 随着业务的发展、需求的变化&#xff0c;促使我们追求使用不同类型的数据库&#xff0c;充分发挥其各自特性。如果决定采用新类型的数据库&#xff0c;就需要将既有的数据迁移到新的数据库中。在这类需求中&#xff0c;将SQL Server中的数据导入到MongoDB 中显得尤为突…

语音计算矩形面积_LeetCode85-最大矩形

今天在制作书签的时候突然想到了一个问题如果要送给未来的女朋友一个书签上面该写些什么话哈哈哈哈哈哈哈哈哈The Spring is coming!想了一会儿&#xff0c;觉得这句话最合适To xxx:天使的笑&#xff0c;灿烂的心&#xff01;&#xff01;&#xff01;哎&#xff0c;还是先找个…

模板的分离编译

模板不支持分离编译我们来分析一下模板为什么不支持分离编译呢&#xff0c;所谓的分离编译就是我们在编写程序的时候可能会出现如下的一种情况就是&#xff0c;&#xff08;我下面就是举具体的例子了&#xff09;代码//*****************template.h***********// #include<i…

什么是壳 - 脱壳篇01

什么是壳 - 脱壳篇01 让编程改变世界 Change the world by program 壳 在自然界中&#xff0c;植物用壳来保护种子&#xff0c;动物用壳来保护身体&#xff0c;我们人类没有壳&#xff0c;但我们有衣服&#xff0c;房子也起到了壳的作用。不仅保护&#xff0c;而且美观。 同…

push、pop指令

push、pop指令转载于:https://www.cnblogs.com/LoveFishC/archive/2012/07/25/3846605.html

个人前端学习路线图与github优秀前端开发者的路线图推荐

1、个人目前学习的路线图 2、github优秀前端开发者的路线图推荐 打开github首页&#xff0c;在搜索框输入developer-roadmap&#xff0c;搜索github前端路线图 选择kamranahmedse/developer-roadmap拥有56.5k的星&#xff0c;足以证明这个路线受到广大前端开发者的喜爱与推荐 选…

智能指针1.0

一.使用普通的动态内存开辟存在的问题 我们在使用动态内存开辟一个空间的时候&#xff0c;需要释放掉这个空间&#xff0c;不然就容易出现内存泄漏。 比如下面的程序 情况一&#xff1a; #include<iostream> using namespace std; int errorTest() { intflag 0; …

gen_event中的handler和supervised handler

呃&#xff0c;在gen_event中有两个添加handler的方法 gen_event:add_handler/3 gen_event:add_sup_handler/3 一开始总是有些迷惑两者的区别&#xff0c;今天查看了gen_event源码&#xff0c;总算弄清两者的区别。 add_handler添加的只是把gen_event作为容器&#xff0c;仅仅在…

动态刷新_屋盖“起飞”刷新国内记录,中建八局杭州萧山国际机场项目最新动态来袭...

近日&#xff0c;中建八局承建的杭州萧山国际机场三期项目完成了一件“壮举”T4航站楼首段钢屋盖网架顺利提升至设计标高一举刷新了国内机场航站屋盖单次提升的记录正式进入主楼屋面及幕墙施工的新篇章两段视频速看首段钢屋架提升刷新记录 覆盖测量全过程监控杭州萧山国际机场…

逻辑 STANDBY ORA-00368日志应用失败处理一例

故障现象&#xff1a;逻辑STANDBY数据库注册日志成功&#xff0c;但应用日志出现错误&#xff0c;提示“ORA-00368: checksum error in redo log block”&#xff0c;显然是文件受到了破坏。Tue Jul 24 08:25:59 2012LOGMINER: WARNING: error 368 encountered, failed to read…

Linux 下实现虚拟光驱功能,查看iso文件内容

1,创建挂载点&#xff08;也可以不创建&#xff0c;直接用现有的目录&#xff09;openSUSE:~ # mkdir /mnt/iso2&#xff0c;挂载ISO文件至创建的挂载点openSUSE:~ # mount -t iso9660 -o loop /home/ubuntu-14.04.5-server-amd64.iso /mnt/isomount参数解释&#xff1a;-t&…

clientcontainerThrift Types

首先声明&#xff0c;我是一个菜鸟。一下文章中出现技术误导情况盖不负责 来自Apache Thrift官网&#xff1a;Thrift Types Thrift Types The Thrift type system is intended to allow programmers to use native types as much as possible, no matter what programming lang…

简易git操作 -- 让你的格子绿起来

创建github账号 浏览器输入网址&#xff0c;申请一个github账号&#xff0c;github申请网址&#xff0c;看到下面的图片内容&#xff0c;点击图中红色框里面的内容&#xff0c;用邮箱账号申请一个github账号&#xff0c;一定记住账号和密码 填写注册信息 点击之后跳转到下面…

c语言自定义char*函数返回值是乱码_[每日C语言」printf()函数的修饰符和返回值...

在上一个小demo《printf()函数(1)》中主要说了一下printf()函数的转换说明符&#xff0c;这些转移说明符是可以被修饰的。我们可以在%d和定义的转义字符之间通过插入修饰符对基本的转换说明加以修改。printf()修饰符digit(s) 字符宽度的最小值结果&#xff1a;不够的前面补空格…

win2003辅助域服务器相关几个错误日志的解决办法

1.域助域上做了DNS后,提示:浏览器无法更新服务状态位,数据有错误,错误代码是8007关闭computer browser基本就行了,有人说还要关server,它负责共享之类的,如果关了,就不能共享了,我个人没有关!2.之前,公司主域上有DNS,不过没有允许复制区域,也没有在辅助域上做DNS,所以在辅助域上…

redis.conf配置文件参数说明

参数说明 redis.conf 配置项说明如下&#xff1a;1. Redis默认不是以守护进程的方式运行&#xff0c;可以通过该配置项修改&#xff0c;使用yes启用守护进程daemonize no2. 当Redis以守护进程方式运行时&#xff0c;Redis默认会把pid写入/var/run/redis.pid文件&#xff0c;可以…

用C#来开发CAD插件,含源代

CAD插件看起来很神秘&#xff0c;其实一个合格码农经过几天就能快速掌握。没什么秘密&#xff0c;开发CAD插件和winform一样简单&#xff0c;多学几个类库用法就是&#xff0c;在CAD里展现界面和winform略有不同。学习CAD插件开发的动机是为了薪水&#xff0c;由于公司是做显示…