一、函数变量的作用域
1.变量的作用域实在声明时决定的而不是调用执行时决定
<script>
var a=6,b=7;
function t() {
// var a=3,b=5;
console.log(a+'--'+b);
}
t();
</script>
2.作用域
<script>
var a=8,b=9;
function sum() {
// var a=3,b=5;
function p() {
// var a=4,b=6;
console.log(a+b);
}
p();
}
sum();
</script>
二、词法分析
1.函数执行前,会进行预编译,这个预编译的过程就是词法分析
会形成一个活动对象,Active Object AO
分析三个内容:
1.分析函数的参数
2.分析函数的变量声明
3.分析函数内函数声明表达式
var str ='global';
function t() {
console.log(str); // unfined
var str = 'local';
console.log(str); // local
}
t();
-----------------------------------------------------
<script>
function t(age) {
console.log(age);
var age = 99;
console.log(age);
function age(){
}
console.log(age)
}
t(5);
//预编译,activeobject AO
/*
* 1.分析函数参数
* AO.age = undefined
* 1.2 AO.age = 5
* 2.分析函数变量
* 因为AO有age变量,所以不做任何处理(没有的话就赋值)
* 3.函数声明表达式
* AO.age = function age(){}
* */
</script>
三、jQuery
DOM:
1.直接查找
document.getElementById 根据ID获取一个标签
document.getElementsByName 根据name属性获取标签集合
document.getElementsByClassName 根据class属性获取标签集合
document.getElementsByTagName 根据标签名获取标签集合
2.间接查找
parentNode // 父节点
childNodes // 所有子节点
firstChild // 第一个子节点
lastChild // 最后一个子节点
nextSibling // 下一个兄弟节点
previousSibling // 上一个兄弟节点
parentElement // 父节点标签元素
children // 所有子标签
firstElementChild // 第一个子标签元素
lastElementChild // 最后一个子标签元素
nextElementtSibling // 下一个兄弟标签元素
previousElementSibling // 上一个兄弟标签元素
1.jQuery是什么
jQuery:帮我们封装好了DOM操作,相当于python中的模块(类库)
2.jQuery的特点
1.强大的选择器---类似与css的选择器
2.强大的DOM操作
3.Ajax封装
4.版本兼容行好
3.jQuery版本:
1.xxx --- 1.12.4(1.12大版本)
2.xxx
3.xxx
4.选择器
------基本选择器
ps:
jQuery --> DOM
$("#test")[0]
DOM --> jQuery
var mydom = document.getElementById('test')
$(mydom)
1.ID选择器
$('#test') == document.getElementById('test')
2.标签选择器
$('div') == document.getElementsByTagName('div')
3.class选择器
$('.class') == document.getElementsByClassName("class")
4.组合选择器
$('div,span')
------层级选择器
1.祖先--子孙 *有疑问(括号中是否可以是上面选择器中的任意)
$('form input')
2.parent > childNodes 只找儿子
$(' form > input')
------基本筛选器
:first 获取匹配的第一个元素
$('li:first') 获取li标签的第一个元素
:last 获取匹配的最后一个元素
$('li:last') 获取li标签的最后一个元素
:eq(n) 获取匹配的第n个元素
$('li:eq(3)') 获取li标签的第4个元素
------属性选择器
<input type="text" name="username"/>
$('input[type="text"]')
5.jQuery的方法
1.$(this) 相当于js中的this
2.each 相当于循环操作
3.prop 给标签设置属性,例 $(this).prop('checked',true)
给一个参数为获取值,两个值为设置值
4.三元运算
例: 4 > 3 ? true : false
5.筛选器
1.next() 获取紧邻的下一个元素
nextAll()
nextUtil('.content1') 直到XXX停止
2.prev() 获取紧邻的上一个元素
prevAll()
prevUtil('.content1') 直到XXX停止
3.children() 获取所有的子元素
$('.info').children() ---获取所有的子元素
$('.info').children('.content2') ---获取指定的子元素
4.parent() 获取父元素
$('content2').parent()
5.siblings() 获取兄弟元素
$('content2').parent().children('.content2').siblings()
5.设置样式
css() 传一个参数为获取值,传两个值为设置值
css('display')
css('display','block')
6.动画
1.$('img').show(1000) 显示隐藏的 1000为慢慢显示
2.$('img').hide(1000) 隐藏显示的 1000为慢慢隐藏
3.$('img').toggle('slow') 显示隐藏,隐藏显示。slow变慢
更多:http://jquery.cuishifeng.cn/
7.样式
1.$("XXX").css("display",none) 设定样式
2.addClass() 添加样式(要求样式存在,即写在css里面)
3.removeClass() 移除样式(同上)
4.hasclass() 判断有没有样式
8.文本操作
1.设置text的值
$('xxx').text() 不传参为获取
$('xxx').text('helei') 传参为设置
2.input系列框里边的值(同上)
$('xxx').val()
$('xxx').val('helei')
9.属性操作
$('xxx').attr(""); 属性选择器,传一个参数为取值
$('xxx').attr("",""); 属性选择器,传两个值为赋值
$('xxx').removeAttr('key') 输入属性的key,可以删除属性
在操作关于input系列(radio,checkbox) 选中和取消不能采用attr来进行设置
3版本修复了这个bug
prop()专门是用来对input系列(radio,checkbox)
$('xxx').prop()
10.文档操作
append() 向选中的元素内部的后面添加元素
$("ul").append($("<li>某某某</li>"))
appendTo() 把元素插到某个元素的后面
$("<li>某某某</li>").appendTo($("ul"))
prepend() 向选中的元素内部的前面添加元素
prependTO() 把元素插到某个元素的前面
外部插入
after() 向选中元素外部的后面添加元素
before() 向选中元素外部的前面添加元素
删除
empty() 将元素内部的内容删除
remove() 将元素的标签删除
11.表单对象属性
:enabled 匹配所有可用元素
:disabled 匹配所有不可用元素
<form>
<input name="email" disabled="disabled" />
<input name="id" />
</form>
$("input:disabled")
[ <input name="email" disabled="disabled" /> ]
:checked 匹配所有选中的被选中元素(复选框、单选框等,select中的option),对于select元素来说,获取选中推荐使用 :selected
:select 匹配所有选中的option元素
12.事件
DOM:
onclick
onblur
onfocus
ondblclick
onmousedown
onmouseover
onkeydown
onkeyup
jquery:
click
blur
focus
dblclick
mousedown
mouseover
keydown
keyup
13.绑定事件的其他方式
$('xxx').on("click",function(){})
$('xxx').off("click",function(){})
$('xxx').bind("click",function(){})
$('xxx').unbind("click",function(){})
$('xxx').delegate('xxx','click',function(){})
$('xxx').undelegate('xxx','click',function(){})
14.阻止事件发生:
return false
jQuery简介和基础的更多相关文章
-
jQuery编程基础精华01(jQuery简介,*对象$,jQuery对象、Dom对象,链式编程,选择器)
jQuery简介 什么是jQuery? jQuery就是一个JavaScript函数库,没什么特别的.(开源)联想SQLHelper类 jQuery能做什么?jQuery是做什么的? jQuery本身 ...
-
jQuery 简介
jQuery 简介 jQuery 库可以通过一行简单的标记被添加到网页中. jQuery 库 - 特性 jQuery 是一个 JavaScript 函数库. jQuery 库包含以下特性: HTML ...
-
jQuery Mobile 入门基础教程
jQuery Mobile是jQuery在手机上和平板设备上的版本.jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架. jQue ...
-
WEB入门之十二 jquery简介
学习内容 jQuery简介 搭建jQuery开发环境 jQuery基本选择器 能力目标 熟悉jQuery开发环境 能编写简单的jQuery代码 本章简介 在前面两章,我们学习了JavaScript面向 ...
-
jQuery和AJAX基础
jQuery和AJAX基础 jQuery 基础: 1.jQuery 选择器: 元素选择器:$("p"): #id 选择器:$("#test"): .class ...
-
APP接口自动化测试JAVA+TestNG(二)之TestNG简介与基础实例
前言 继上篇环境篇后,本篇主要对TestNG进行介绍,给出最最基础的两个实例,通过本文后,学会并掌握TestNG测试用例的编写与运行,以及生成美化后的报告.下一篇为HTTP接口实战(国家气象局接口自动 ...
-
jQuery简介
jQuery简介 jQuery是继Prototype之后的又一个javascript库,它由John Resig创建于2006年1月. Javascript库作用比较: 1. Prototype(ht ...
-
jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
-
jQuery简介<;思维导图>;
jQuery是继prototype之后有一个优秀的Javascript库,它由John Resig创建于2006年1月.它简化了遍历HTML文档.操作DOM.处理事件.执行动画和Ajax的操作.它独特 ...
随机推荐
-
多行溢出隐藏显示省略号功能的JS实现
在页面重构中,经常需要将过多的内容隐藏而显示部分.在单行文本中实现非常简单,但是在多行文本中,则需要根据实际选择不同的方式. 用CSS实现多行溢出隐藏的代码非常简单,但是兼容性也相对较低. displ ...
-
【COM学习】之一、QueryInterface
开始先说一句,学习com之前要学好c++ 对象模型. QueryInterface的使用: QueryInterface是IUnknown的一个成员函数,客户可以通过此函数来查询某个组件是否支持某个特 ...
-
网络摄像头Androi端显示(mjpeg)源码分析
main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and ...
-
java集合系列——Map介绍(七)
一.Map概述 0.前言 首先介绍Map集合,因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的). 1:介绍 将键映射到 ...
-
javascript排序算法-选择排序
选择排序 概念:选择排序大致的思路是找到数据结构中的最小值并将其放置在第一位,接着找到第二小的值并将其放在第二位,以此类推. 复杂度: O(n^2) 代码实现 var swap = function ...
-
Win32之内存管理之虚拟内存跟物理内存
Win32之内存管理 一丶虚拟内存和物理内存 我们知道每个应用程序都有自己独立的4GB空间. 假设A进程的 地址123 存储了10 那么B进程的123地址 存储了20 那么它们两个是互不影响的. ...
-
Symbol Vs String
最重要区别 1 symbol存入内存后,始终存在,如果不进行垃圾收集,可能导致内存泄漏. String只会存在于某个创建它的作用域内.即有生命周期的. 2.唯一性. \\进入控制台 >" ...
-
spring 事务的配置学习
1.spring事务管理器接口PlatformTransactionManager 接口中的方法 获取事务状态信息 -TransactionStatus getTransaction(Transact ...
-
Lintcode: Add Binary
C++ class Solution { public: /** * @param a a number * @param b a number * @return the result */ str ...
-
linux通过源码安装nodejs
1.下载nodejs源码,下载地址:https://nodejs.org/en/download/ 2.下载回来后,解压缩,ubuntu系统ctrl + alt +T 打开终端 假如tar.gz压缩包 ...