JavaScript的学习

JavaScript简介

  1. JavaScript 是 web 开发者必学的三种语言之一:
  • HTML 定义网页的内容
  • CSS 规定网页的布局
  • JavaScript 对网页行为进行编程
  1. JavaScript能够改变 HTML 内容
  • 通过getElementById()
    eg:document.getElementById("demo").innerHTML = "Hello JavaScript";或者document.getElementById("demo").innerHTML = 'Hello JavaScript';(单引号双引号皆可)
  1. JavaScript能够改变 HTML 属性
    通过改变 标签的 src 属性(source)可以改变一张 HTML 图像
  2. JavaScript 能够改变 HTML 样式 (CSS)
    eg:document.getElementById("demo").style.fontSize = "25px";
  3. JavaScript 能够隐藏 HTML 元素
    eg:document.getElementById("demo").style.display="none";

JavaScript示例

  1. 代码段:
<!DOCTYPE html>
<html>
<body>
<h2>我的第一段 JavaScript</h2>
<button type="button"
onclick="document.getElementById('demo').innerHTML = Date()">
点击这里来显示日期和时间
</button>

<p id="demo"></p>

</body>
</html>
  1. 效果图:

在这里插入图片描述
点击方框时会显示系统的时间;

课堂学习内容1

Javascript
一种面向对象的脚本语言用于对客户端应用程序和其他应用程序中的对象进行编程访问
特点寄生(可以改变对象本身的形式和内容,特别适合二次编程)
功能可以使静态网页转变为动态网页
软件基础JavaScript引擎->浏览器
编程技术用户点击->click事件发生->事件处理器执行->网页更新
对比图源通过html来写,用js写交互行为(对事件处理的事件处理器)

核心:在事件处理器js来操作HTML DOM1

课堂学习内容2

链接到一个js文件

<script src = "filename" type="text/javascript"></script>
例:<script src = "example.js" type="text/javascript"></script>
  1. 标签要放在html页的头部;
  2. 脚本代码单独存放在一个后缀为 .js 的文件;

注释

  1. 和c++/c的注释方法一样;

声明

弹出对话框

alert("message");//弹出信息
alert("IE6 detedted.");
confirm();//返回真或者假
prompt();//返回用户输入的字符串

变量和类型

var name = expression;
例:
var clientName = "James";
var age = 32;
var weight = 127.4;
  • 弱数据类型:无需声明它的数据类型,通过所赋的值来确定它的数据类型,也可以通过改变数值改变数据类型;(大小写敏感)
  • 数据类型:number(包含所有数字类型), boolean, string, array, object, function, null, undefined
  • 通过typeof来找到变量的数据类型

在这里插入图片描述

number类型
  1. 可以进行的操作:
  • -* /% ++ --= += -= * /= %=+*=
string类型(important)
var s = "James Alan";
var fName = s.substring(0, s.index(" "));//取空格之前的字符
var length = s.length;
var S2 = 'Connie Client';
  1. 包含的操作:
  • charAt, charCodeAt, fromCharCode, indexOf,lastIndexOf, replace, split, substring,toLowerCase,toUpperCase;
  • 使用**’+’**连接两个字符串;
  • parseInt;
    string
Immutable vs. mutable
  1. js字符串不可改变:变量赋值为字符串后,除非重新赋值,其值不变。
var str = "Hello";
str[0] = "W";
alert(str);//"Hello"
boolean类型
  1. false: 0, 0.0, NaN, “”, null, and undefined;
  2. true:anything else;
  3. 将一个数值转换为boolean类型
var boolValue = Boolean(otherValue);
var boolValue = !!(otherValue);
特殊的值
  1. NaN: not a number (only returned by the isNaN() function) ;
  2. undefined : has not been declared, does not exist;
  3. null : exists, but was specifically assigned an null value ;
逻辑操作符

分别为:>< >= <= &&|| !== != === !==
=== 和 !== 是两者严格相等为真
NaN == NaN 和 NaN === NaN 的结果都为假

变量的作用域
  1. 全局变量
var a = 2;//全局变量

function scope(){
	alert(a);
	a = 2 * 2;
	b = 3;//隐式变量声明
	var c = 5;//局部变量
	//这里a为4,b为3,c为5
}
scope();//这里a为4,b为3,c为undefined
  1. 局部变量
  • 慎用全局变量(破坏了模块的封装)
数组
var name = [];//空数组
var name = [value,value,……,value];
name[index] = value;
  1. 自动增加大小;
  2. 可以存放不同类型的元素;
  3. 数组的操作:
    array
  • 注:string类型经过split分割为一个数组;
  • eval函数能够动态执行源代码,必须慎用;
eval("3 + 2 - 5 * 0");//5
var str = "Hello";
eval("str = str + ' World!'");
eval(alert(str));//弹出'Hello World!'

DOM(文档对象模型)

DOM element

  1. 页面上每一个元素都有一个相应的DOM对象;
  2. 访问和修改DOM对象的属性:objectName.attributeName;例:id = "example",其中id为property,example为attribute;
  3. innerHTML和textContent的比较:innerHTML会对输入进入解析;
  4. 通过DOM元素的value property改变或者获取显示内容,针对文本框,各种按钮,不能使用 innerHTML和textContent 的属性;
  5. 调整风格:dom_style
    注:DOM style property是一个带单位的字符串;

DOM tree

  1. 改变结构,在上面找到要改变的操作;
  2. DOM Node
  • document node为根节点;
  • element node
  • text node:空白会成为一个text node
  • attribute node
  • comment node

dom node
3. 树是一个连通图,理论上可以从其中一个位置,到达其他任意一个位置;
4. 改变结构:新建节点

  • createElement
  • createTextNode
    改变结构

DOM & BOM Object

  1. BOM:Browser objects;
    bom對象

事驱动的程序设计

  1. 添加\移除事件处理器
  • addEventListener
  • removeEventListener

  1. (HTML/XHTML的文档对象模型) ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值