JQuery学习笔记(二):入口函数

 

说明:本人正在学习JQuery知识,以下内容来自于我对B站李南江老师的视频教程《李南江亲授-jQuery+Ajax从放弃到知根知底》的总结,以当作自己的学习笔记。(顺便推荐一下这个教程,语速合我口味!)

 

1.JQuery入口函数

JQuery入口函数有四种写法:

		<script>
			//第一种
			$(function(){
				//JQuery代码...
			})
			//第二种
			jQuery(function(){
				//JQuery代码...
			})
			//第三种
			$(document).ready(function9){
				//JQuery代码...
			})
			//第四种
			jQuery(document).ready(function(){
				//JQuery代码...
			})
		</script>

 

本着write less,do more的原则,推荐第一种写法

 

2.加载模式对比

2.1用原生JS和JQuery分别在入口函数中获取一个img标签的DOM元素和宽度:

<body>
		<img src="img/HBuilder.png" />
	</body>

2.1.1原生JS写法及结果:

写法

		<script>
			
			//原生js入口函数		
			window.onload=function(){
				var img=document.getElementsByTagName("img")[0];
                console.log(img);
                var width=window.getComputedStyle(img).width;
                console.log(width);
			}
            
		</script>

结果:成功获取到DOM元素和宽度

 

 

2.1.2JQuery写法及结果:(注意: 1.刷新网页前清空浏览器数据   2.图片路径最好不要在本地,否则加载太快效果体现不出来)

		<script>
			$(document).ready(function(){
				var $img=$("img");
				console.log($img);
				var width=$img.width();
				console.log(width);
			})
		</script>

 

结果:成功获取到DOM元素,但未获取到宽度

结论:

原生JS入口函数会等到DOM元素和图片都加载完成之后再执行

JQuery入口函数会在DOM元素准备好后立即执行

2.2分别用两种写法编写多个入口函数:

2.2.1原生JS写法:

		<script>
			
			//原生js入口函数		
			window.onload=function(){
				console.log("hello world!");
			}
			window.onload=function(){
				console.log("hello world2222!");
			}
            
//		</script>

结果

2.2.2JQuery写法:

		<script>
			
			//JQuery函数入口
			$(function(){
				console.log("hello world!");
			})
			
			$(function(){
				console.log("hello world2222!")
			})

		</script>

结果

结论:

如果使用原生JS写法编写多个入口函数,后面的会覆盖前面的

使用JQuery编写的多个入口函数则不会覆盖,而是全部执行

 

3.解决冲突问题

为了实现write less,do more,JQuery使用$符号来简化代码的编写

而在开发项目的过程中,我们经常会引入或自己编写其他js文件。如果这些js文件的命名空间也使用了$符号,就会产生冲突。

为了解决这个问题,JQuery实现了释放$使用权的方法:

		<script>
			//释放$使用权
			jQuery.noConflict();
			//第二种
			jQuery(function(){
				//JQuery代码...
			})

		</script>

 

如果你既想解决冲突问题,又想简化代码,那么你可以自定义一个访问符号:

		<script>
			
			//自定义访问符号   用s代替$
			var s=jQuery.noConflict();
			
			s(function(){
				
			})

		</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值