目录

JavaScript

Dom

jQuery


JavaScript

JavaScript 是世界上最流行的编程语言。

这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。

avaScript 是脚本语言

JavaScript 是一种轻量级的编程语言。

JavaScript 是可插入 HTML 页面的编程代码。

JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

JavaScript 很容易学习。

1、JavaScript代码存在形式

  1. <!-- 方式一 -->
  2. <script type"text/javascript" src="JS文件"></script>
  3.  
  4. <!-- 方式二 -->
  5. <script type"text/javascript">
  6. Js代码内容
  7. </script>

2、JavaScript代码存在位置

  • HTML的head中
  • HTML的body代码块底部(推荐)

由于Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在body代码块底部,那么即使js代码耗时严重,也不会影响用户看到页面效果,只是js实现特效慢而已。

<head> 中的 JavaScript 函数

在本例中,我们把一个 JavaScript 函数放置到 HTML 页面的 <head> 部分。

该函数会在点击按钮时被调用:

实例
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <script>
  6. function myFunction()
  7. {
  8. document.getElementById("demo").innerHTML="My First JavaScript Function";
  9. }
  10. </script>
  11. </head>
  12.  
  13. <body>
  14.  
  15. <h1>My Web Page</h1>
  16.  
  17. <p id="demo">A Paragraph</p>
  18.  
  19. <button type="button" onclick="myFunction()">Try it</button>
  20.  
  21. </body>
  22. </html>

<body> 中的 JavaScript 函数

在本例中,我们把一个 JavaScript 函数放置到 HTML 页面的 <body> 部分。

该函数会在点击按钮时被调用:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4.  
  5. <h1>My Web Page</h1>
  6.  
  7. <p id="demo">A Paragraph</p>
  8.  
  9. <button type="button" onclick="myFunction()">Try it</button>
  10.  
  11. <script>
  12. function myFunction()
  13. {
  14. document.getElementById("demo").innerHTML="My First JavaScript Function";
  15. }
  16. </script>
  17.  
  18. </body>
  19. </html>

提示:我们把 JavaScript 放到了页面代码的底部,这样就可以确保在 <p> 元素创建之后再执行脚本。

外部的 JavaScript

也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。

外部 JavaScript 文件的文件扩展名是 .js。

如需使用外部文件,请在 <script> 标签的 "src" 属性中设置该 .js 文件:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <script src="myScript.js"></script>
  5. </body>
  6. </html>

在 <head> 或 <body> 中引用脚本文件都是可以的。实际运行效果与您在 <script> 标签中编写脚本完全一致。

提示:外部脚本不能包含 <script> 标签。

3、变量

  • 全局变量
  • 局部变量

JavaScript中变量的声明是一个非常容易出错的点,局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量

  1. var name = "seven" # 局部变量
  2. age = 18 # 全局变量

注:注释 // 或 /* */

4、基本数据类型

JavaScript 拥有动态类型

JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:

实例
  1. var x // x 为 undefined
  2. var x = 6; // x 为数字
  3. var x = "Bill"; // x 为字符串

JavaScript 字符串

字符串是存储字符(比如 "Bill Gates")的变量。

字符串可以是引号中的任意文本。您可以使用单引号或双引号:

实例
  1. var carname="Bill Gates";
  2. var carname='Bill Gates';

您可以在字符串中使用引号,只要不匹配包围字符串的引号即可:

实例
  1. var answer="Nice to meet you!";
  2. var answer="He is called 'Bill'";
  3. var answer='He is called "Bill"';

JavaScript 数字

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:

实例
  1. var x1=34.00; //使用小数点来写
  2. var x2=34; //不使用小数点来写

极大或极小的数字可以通过科学(指数)计数法来书写:

实例
  1. var y=123e5; // 12300000
  2. var z=123e-5; // 0.00123

JavaScript 布尔

布尔(逻辑)只能有两个值:true 或 false。

  1. var x=true
  2. var y=false

布尔常用在条件测试中。

JavaScript 数组

下面的代码创建名为 cars 的数组:

  1. var cars=new Array();
  2. cars[0]="Audi";
  3. cars[1]="BMW";
  4. cars[2]="Volvo";

或者 (condensed array):

  1. var cars=new Array("Audi","BMW","Volvo");

或者 (literal array):

  1. var cars=["Audi","BMW","Volvo"];

数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。

常用方法:

  1. 常用方法:
  2. 添加
  3. obj.push(ele) 追加
  4. obj.unshift(ele) 最前插入
  5. obj.splice(index,0,'content') 指定索引插入
  6. 移除
  7. obj.pop() 数组尾部获取
  8. obj.shift() 数组头部获取
  9. obj.splice(index,count) 数组指定位置后count个字符
  10.  
  11. 切片
  12. obj.slice(start,end)
  13. 合并
  14. newArray obj1.concat(obj2)
  15. 翻转
  16. obj.reverse()
  17.  
  18. 字符串化
  19. obj.join('_')
  20. 长度
  21. obj.length
  22.  
  23. 字典
  24. var items = {'k1': 123, 'k2': 'tony'}

JavaScript 对象

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

  1. var person={firstname:"Bill", lastname:"Gates", id:5566};

上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。

空格和折行无关紧要。声明可横跨多行:

  1. var person={
  2. firstname : "Bill",
  3. lastname : "Gates",
  4. id : 5566
  5. };

对象属性有两种寻址方式:

实例
  1. name=person.lastname;
  2. name=person["lastname"];

Undefined 和 Null

Undefined 这个值表示变量不含有值。

可以通过将变量的值设置为 null 来清空变量。

实例
  1. cars=null;
  2. person=null;

5、循环语句

  1. var names = ["alex", "tony", "rain"];
  2.  
  3. // 数组:方式一
  4. for(var i=0;i<names.length;i++){
  5. console.log(i);
  6. console.log(names[i]);
  7. }
  8.  
  9. // 数组:方式二
  10. for(var index in names){
  11. console.log(index);
  12. console.log(names[index]);
  13. }
  14.  
  15. var names = {"name": "alex", "age": 18};
  16.  
  17. // 字典:方式一
  18. for(var index in names){
  19. console.log(index);
  20. console.log(names[index]);
  21. }
  22.  
  23. // while循环
  24. while(条件){
  25. // break;
  26. // continue;
  27. }

6、条件语句

  1. //if条件语句
  2.  
  3. if(条件){
  4.  
  5. }else if(条件){
  6.  
  7. }else{
  8.  
  9. }
  10.  
  11. var name = 'alex';
  12. var age = 1;
  13.  
  14. // switch,case语句
  15. switch(name){
  16. case '1':
  17. age = 123;
  18. break;
  19. case '2':
  20. age = 456;
  21. break;
  22. default :
  23. age = 777;
  24. }

7、异常处理

  1. try{
  2.  
  3. }catch(e) {
  4.  
  5. }finally{
  6.  
  7. }

8、函数

  1. 函数的声明
  2. function func(arg){
  3. return true;
  4. }
  5.  
  6. 匿名函数
  7. var func = function(arg){
  8. return "tony";
  9. }
  10.  
  11. 自执行函数
  12. (function(arg){
  13. console.log(arg);
  14. })('123')

9、面向对象

  1. function Foo (name,age) {
  2. this.Name = name;
  3. this.Age = age;
  4. this.Func = function(arg){
  5. return this.Name + arg;
  6. }
  7. }
  8.  
  9. var obj = new Foo('alex', 18);
  10. var ret = obj.Func("sb");
  11. console.log(ret);

资料:http://www.w3school.com.cn/js/index.asp


Dom

HTML DOM (文档对象模型)

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。

HTML DOM 模型被构造为对象的树。

HTML DOM 树

通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。

  • JavaScript 能够改变页面中的所有 HTML 元素
  • JavaScript 能够改变页面中的所有 HTML 属性
  • JavaScript 能够改变页面中的所有 CSS 样式
  • JavaScript 能够对页面中的所有事件做出反应

1、查找 HTML 元素

通常,通过 JavaScript,您需要操作 HTML 元素。

为了做到这件事情,您必须首先找到该元素。有三种方法来做这件事:

  • 通过 id 找到 HTML 元素
  • 通过标签名找到 HTML 元素
  • 通过类名找到 HTML 元素
  1. document.getElementById('id');
  2. document.getElementsByName('name');
  3. document.getElementsByTagName('tagname');

2、查找

  1. innerText
  2. innerHTML
  3.  
  4. var obj = document.getElementById('nid')
  5. obj.innerText # 获取文本内容
  6. obj.innerText = "hello" # 设置文本内容
  7. obj.innerHTML # 获取HTML内容
  8. obj.innerHTML = "<h1>asd</h1>" # 设置HTML内容
  9.  
  10. 特殊的:
  11. input系列
  12. textarea标签
  13. select标签
  14.  
  15. value属性操作用户输入和选择的值

3、创建标签

  1. 方式一:
  2. var obj = document.createElement('a');
  3. obj.href = "http://www.etiantian.org";
  4. obj.innerText = "老男孩";
  5.  
  6. var container = document.getElementById('container');
  7. //container.appendChild(obj);
  8. //container.insertBefore(obj, container.firstChild);
  9. //container.insertBefore(obj, document.getElementById('hhh'));
  10.  
  11. 方式二:
  12. var container = document.getElementById('container');
  13. var obj = "<input type='text' />";
  14. container.innerHTML = obj;
  15. // 'beforeBegin', 'afterBegin', 'beforeEnd', 'afterEnd'
  16. //container.insertAdjacentHTML("beforeEnd",obj);

4、标签属性

  1. var obj = document.getElementById('container');
  2. 固定属性
  3. obj.id
  4. obj.id = "nid"
  5. obj.className
  6. obj.style.fontSize = "88px";
  7.  
  8. 自定义属性
  9. obj.setAttribute(name,value)
  10. obj.getAttribute(name)
  11. obj.removeAttribute(name)

5、提交表单

  1. document.geElementById('form').submit()

6、事件

特殊的:

  1. window.onload = function(){}         //jQuery:$(document).ready(function(){})         //onload是所有DOM元素创建、图片加载完毕后才触发的。而ready则是DOM元素创建完毕后触发的,不等图片加载完毕。图片还么有渲染,就可以进行事件的执行。

特殊参数:this,event

7、其他功能

  1. console.log()
  2. alert()
  3. confirm()
  4.  
  5. // URL和刷新
  6. location.href
  7. location.href = "url" window.location.reload()
  8.  
  9. // 定时器
  10. setInterval("alert()",2000);
  11. clearInterval(obj)
  12. setTimeout();
  13. clearTimeout(obj)

实例:


jQuery

jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多),对javascript进行了封装,是的更加便捷的开发,并且在兼容性方面十分优秀。

http://www.php100.com/manual/jquery/

python学习day13的更多相关文章

  1. python学习Day13 函数的嵌套定义、global、nonlocal关键字、闭包及闭包的运用场景、装饰器

    复习 1.函数对象:函数名 => 存放的是函数的内存地址1)函数名 - 找到的是函数的内存地址2)函数名() - 调用函数 => 函数的返回值 eg:fn()() => fn的返回值 ...

  2. python学习 day13 迭代器,生成器,枚举对象

    一.复习 1.闭包:定义在函数内部的函数(被函数嵌套的函数) 2.装饰器:闭包的一个应用场景 -- 为一个函数添加新功能的工具 3.开放封闭原则:不能修改源代码,不能修改调用方式,但可以对外提供增加新 ...

  3. Python学习 day13

    一.可迭代对象和迭代器 1.回顾可以被for循环的对象 list.dic.str.set.tuple.文件句柄f.range().enumerate() 只有可迭代对象才能被for循环,当我们遇到一个 ...

  4. Python学习-day13 SqlAlchemy

    本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 orm英文全称object relational mapping ...

  5. python学习 day13 装饰器(一)&推导式

    装饰器&推导式 传参位置参数在前,关键词参数在后 函数不被调用内部代码不被执行 函数在被调用的时候,每次都会开辟一个新的内存地址,互不干扰 #经典案例 def func(num): def i ...

  6. python学习博客地址集合。。。

    python学习博客地址集合...   老师讲课博客目录 http://www.bootcdn.cn/bootstrap/  bootstrap cdn在线地址 http://www.cnblogs. ...

  7. 【目录】Python学习笔记

    目录:Python学习笔记 目标:坚持每天学习,每周一篇博文 1. Python学习笔记 - day1 - 概述及安装 2.Python学习笔记 - day2 - PyCharm的基本使用 3.Pyt ...

  8. python学习之旅

    python学习分类 python基础    +- day01——python初始.变量.常量.注释.基础数据类型.输入.if day02——while.字符串格式化.运算符.编码初识 day03—— ...

  9. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

随机推荐

  1. zkui部署

    1.拉取代码 #git clone https://github.com/DeemOpen/zkui.git 2.构建并安装程序 #cd zkui/ #yum install -y maven #mv ...

  2. BZOJ 1628 [Usaco2007 Demo]City skyline:单调栈

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1628 题意: 题解: 单调栈. 单调性: 栈内元素高度递增. 一旦出现比栈顶小的元素,则表 ...

  3. js日期的初始化的格式

    js在初始化日期对象时,如果有传入日期.则格式有兼容性问题: //下面的写法在谷歌下没有问题,在火狐和ie下有问题var time = new Date('2014-11-27 00:00:00'); ...

  4. Java(二)——开发环境搭建 安装JDK和配置环境变量

    1.安装JDK 下载地址  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载 ...

  5. OJ提交题目中的语言选项里G++与C++的区别

    一.OJ提交题目中的语言选项里G++与C++的区别 http://www.th7.cn/Program/cp/201405/199001.shtml 首先更正一个概念,C++是一门计算机编程语言,G+ ...

  6. MAC 安装phantomjs

    step1:下载压缩包http://phantomjs.org/ step2:解压缩,我是解压缩到/Users/gxy/software step3:写入配置路径,vi ~/.bash_profile ...

  7. PIL 安装及使用

    我ubunto虚拟机自带的是python2.7,好像PIL也只支持到2.7. PIL包的安装 Debian/Ubunto Linux下直接安装: sudo apt-get install python ...

  8. Relative atomic mass

    Relative atomic mass Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Oth ...

  9. Linux 设备树 dts

    1. dtb反编译成dts文件命令:./kernel-4.4/scripts/dtc/dtc_overlay -I dtb -O dts out/target/product/m863ur100_p0 ...

  10. JAVA 中的堆和栈

    栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆.     Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过new.n ...