Mr.J-- jQuery学习笔记(二十二)--入口函数
入口函数的作用:等待页面加载完毕,有一个独立的作用域。
原生JS 和 jQuery 入口函数区别:
(1)JS的window.onload事件必须要等到所有内容,以及外部图片之类的文件加载完之后,才会去执行。
(2)JQuery入口函数是在所有标签加载完之后,就会去执行。
jQuery基本结构
jQuery是一个闭包
之前有写过闭包:Mr.J--JS学习(闭包及IIFE)
Mr.J--JS学习(闭包私有化)
(function test(){console.log("test");
})()
执行结果:test
对于下面的demo:
var num;
num = 10;
num = 20;
console.log(num);
执行结果一眼看出:20,后面的值会覆盖前面的值进行输出
jQuery为什么要使用闭包来实现?
为了避免多个框架的冲突
jQuery如何让外界访问内部定义的局部变量
window.xxx = xxx;
(function f1() {var num = 10;window.num = num;
})();
(function f2() {var num = 20;
})();
console.log(num);
对于上面的demo运行结果:
jQuery为什么要给自己传递一个window参数?
为了方便后期压缩代码
为了提升查找的效率
自己存在值使用自己的,不存在则在函数外部找
var value = 20;
function f3() {//var value = 10;console.log(value);
}
f3();
执行结果:20
var value = 20;
function f3() {var value = 10;console.log(value);
}
f3();
执行结果:10
jQuery为什么要给自己接收一个undefined参数?
为了方便后期压缩代码
IE9以下的浏览器undefined可以被修改, 为了保证内部使用的undefined不被修改, 所以需要接收一个正确的undefined
undefined = 998;
console.log(undefined);
jQuery基本结构--demo
(function( window, undefined ) {var jQuery = function( ) {return new jQuery.prototype.init( );}jQuery.prototype = {constructor: jQuery} jQuery.prototype.init.prototype = jQuery.prototype;window.jQuery = window.$ = jQuery;
})( window );
jQ入口函数传入不同参数得到的实例
传入 '' null undefined NaN 0 false
会返回一个空的jQuery对象给我们
console.log($());
console.log($(''));
console.log($(null));
console.log($(undefined));
console.log($(NaN));
console.log($(0));
console.log($(false));
传入html片段
会将创建好的DOM元素存储到jQuery对象中返回
console.log($('<p>1</p><p>2</p><p>3</p>'));
传入选择器
会将找到的所有元素存储到jQuery对象中返回
console.log($('li'));
传入数组
会将数组中存储的元素依次存储到jQuery对象中立返回
var arr = [1, 2, 3, 4, 5, 6];
console.log($(arr));
传入伪数组
会将数组中存储的元素依次存储到jQuery对象中立返回
var likeArr = {0:"yjk", 1:"33", 2:"male", length: 3};
console.log($(likeArr));console.log(typeof arr);console.log(typeof likeArr);console.log(arr.toString());console.log(likeArr.toString());console.log(({}).toString.apply(arr));
传入对象
会将传入的对象存储到jQuery对象中返回
function Person() {}
console.log($(new Person()));
传入DOM元素
会将传入的DOM元素存储到jQuery对象中返回
console.log($(document.createElement('div')));
传入基本数据类型
会将传入的基本数据类型存储到jQuery对象中返回
console.log($(123));console.log($(true));
总结:
1.传入 '' null undefined NaN 0 false, 返回空的jQuery对象
2.字符串:
代码片段:会将创建好的DOM元素存储到jQuery对象中返回
选择器: 会将找到的所有元素存储到jQuery对象中返回
3.数组:
会将数组中存储的元素依次存储到jQuery对象中立返回
4.除上述类型以外的:
会将传入的数据存储到jQuery对象中返回
Mr.J-- jQuery学习笔记(二十二)--入口函数相关推荐
- jQuery 学习笔记之十二 (选项卡)
jQuery 实现的一个简单的选项卡. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...
- tensorflow学习笔记(三十二):conv2d_transpose (解卷积)
tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...
- Windows保护模式学习笔记(十二)—— 控制寄存器
Windows保护模式学习笔记(十二)-- 控制寄存器 控制寄存器 Cr0寄存器 Cr2寄存器 Cr4寄存器 控制寄存器 描述: 控制寄存器有五个,分别是:Cr0 Cr1 Cr2 Cr3 Cr4 Cr ...
- 汇编入门学习笔记 (十二)—— int指令、port
疯狂的暑假学习之 汇编入门学习笔记 (十二)-- int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引 ...
- OpenCV学习笔记(十二):边缘检测:Canny(),Sobel(),Laplace(),Scharr滤波器
OpenCV学习笔记(十二):边缘检测:Canny(),Sobel(),Laplace(),Scharr滤波器 1)滤波:边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感,因此 ...
- QT学习笔记(十二):透明窗体设置
QT学习笔记(十二):透明窗体设置 创建 My_Widget 类 基类为QWidget , My_Widget.cpp 源文件中添加代码 #include "widget.h" # ...
- MATLAB学习笔记(十二)
MATLAB学习笔记(十二) 一.数据插值 1.1 数据插值的计算机制 1.2 数据插值的matlab函数 二.曲线拟合 2.1 曲线拟合原理 2.2 曲线拟合的实现方法 三.数据插值与曲线拟合比较 ...
- Windows Workflow HOL学习笔记(十二):创建状态基工作流
W indows Workflow HOL学习笔记(十二):创建状态基工作流 本文内容来自Microsoft Hands-on Labs for Windows Workflow Foundation ...
- 模电学习笔记(十二)——跨阻放大器
模电学习笔记(十二) 跨阻放大器 跨组运算放大器是将电流信号转换成为电压信号,电流到电压增益基于反馈电阻. 设计目标: 输入 输出 带宽 电源 0A 100uA 0V 7V 20kHz 15V -15 ...
- Spring Cloud学习笔记【十二】Hystrix的使用和了解
Spring Cloud学习笔记[十二]Hystrix的使用和了解 Hystrix [hɪst'rɪks],中文含义是豪猪,因其背上长满棘刺,从而拥有了自我保护的能力.本文所说的Hystrix是Net ...
最新文章
- 图解全球无人驾驶产业链:这些公司在主宰人类出行的未来
- Tomcat 之 tomcat安装和组件介绍
- nx set 怎么实现的原子性_【redis进阶(1)】redis的Lua脚本控制(原子性)
- win7重装系统后设置Python2.7环境
- Java学习之斐波那契数列实现
- javascript弹出窗口总结
- java常用的date类
- JAVA数据库宾馆住宿系统_java+数据库 宾馆客房管理系统
- 苹果弹出无法验证服务器身份sec,苹果iPhone弹出无法验证服务器身份怎么回事什么意思,怎么解决...
- OpenGL ES EGL eglCreateContext
- OPPO 数据湖统一存储技术实践
- 使用zabbix_sender发送文本
- 计算机想ping一下网络,电脑的Ping值和网络带宽之间有什么关系?
- 专升本英语——语法知识——高频语法——第五节 状语从句(时间状语从句-地点状语从句-原因状语从句-结果状语从句-条件状语从句-目的状语从句-让步状语从句-比较状语从句-方式状语从句)【学习笔记】
- 诈金花游戏单机版 附开源地址
- CF1612C Chat Ban
- vue显示农历_vue中通过时间转换农历得方法封装
- 直接分享5个T的网盘资源
- Springboot集成rabbitmq实现延时队列
- Kratos,RPC服务调用过程
热门文章
- html5支持哪媒体,html5 支持哪些媒体元素
- 收藏 | 10个重要问题概览Transformer全部内容
- 创新!谷歌大改Transformer注意力
- 重读经典:完全解析特征学习大杀器 ResNet
- 手把手教我班小姐姐学java之多态
- Pure Pursuit纯跟踪算法Python/Matlab算法实现
- java数组写99乘法表,Java 实现乘法口诀(99乘法表)
- java elementtext_java命名空间javax.xml.stream接口xmlstreamreader成员方法:
getelementtext定义参考...
- qt 使用插件astyle_astyle使用基础教程
- vscode markdown_搭建 Markdown 舒适写作环境(VSCode,含扩展盘点)