day 32 JavaScript
1.1. JavaScript介绍
HTML:定义网页的结构
CSS:美化网页
JavaScript:实现用户交互;
1.1.2 JavaScript特点
n 安全性较高
n 跨平台,兼容性好
1.2 JavaScript的组成
JavaScript主要由三部分组成:ECMAScript、DOM、BOM。
ECMAScript:描述了JavaScript的基本语法(所有浏览器都支持);
DOM:文档对象模型。提供了处理网页内容的方法;
BOM:浏览器对象模型。提供了与浏览器进行交互的方法;
1.3 如何编写JavaScript代码
方式一:在HTML页面中编写JavaScript代码
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
document.write('HelloWorld')
</script>
</body>
<script>
alert('你好')
</script>
</html>
script标签可以放在head标签中,也可以放在body标签中。而且,在一个HTML页面中,可以存在多个script标签。
方式二:引入外部的JS文件
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script type="text/javascript" src="js/JavaScript.js"></script>
</body>
</html>
注意事项:
1) 在js文件中编写js代码,不需要写<script>标签;
2) 开始的script标签和结束标签不能够写在一起;
3) 如果在HTML页面中引入了外部的js文件,那么该script标签就不能再编写js代码,而且应该在另外一个script标签中编写;
方式三:在HTML元素中编写js代码
<input type="button" value="click me" onclick="document.write('惊不惊喜');"/>
二、ECMAScript
2.1注释
HTML: <!—注释 -->
CSS: /*注释*/
JavaScript://单行注释 或 /*多行注释*/
2.2 变量
javascript是一门弱类型的语言。所以,在javascript中声明变量不需要指定类型。
语法格式:
var 变量名 [= 初始值];
<script>
var aa = 10;
document.write(aa);
document.write(typeof(aa))
</script>
注意事项:
1) var关键字可以不写。变量的类型是根据它的值来确定的。
2) 变量名必须以字母或下划线开头;
3) js的变量是区分大小写的;
4) js变量必须要先声明后使用;
5) js变量的类型会随着它的值的改变而发生变化;
js的数据类型:
number:数值型,包含小数、整数、NaN(非数字)
string:字符串类型;
boolean:布尔类型,它的值可以是true或false;
object:对象类型;
undefined:该变量没有定义或初始化的时候,那么就是undefined
运算符
++ 自加
-- 自减
注意:前++和前--是先对变量执行++或--操作,然后再对结果进行运算。
后++和后--是先对变量执行运算,运算后再对变量执行++或--操作。
补充:+除了可以作为算术运算符以外,还可以字符串连接符。
比较运算符
=== 三个等号,全等(值和类型都相等)
三目运算符:
条件表达式 ? ‘内容1’ : ‘内容2’;
说明:如果条件成立,就返回内容1,否则返回内容2。
var gender = 1;
document.write(gender == 1 ? '男': '女');
2.4.1 条件判断
- 语法格式:
if (条件表达式) {
} else if (条件表达式) {
} …
else {
}
<!DOCTYPE html>
<script>
var socre = '你好';
if (socre >= 60) {
document.write('及格')
} else if (socre < 60) {
document.write('不及格')
} else {
document.write('输入错误')
}
</script>
示例
2.4.2 条件选择
switch (变量) {
case 值1:
…
break; //退出switch
case 值2:
…
break;
..
default: //如果上面case条件都不满足,就执行default后面的js代码。
…
}
var fruit = 'orange';
switch (fruit) {
case 'apple':
document.write('苹果')
break;
case 'orange':
document.write('橘子')
break;
default:
document.write('其他')
}
示例
2.4.3 循环语句
while循环:
先判断条件是否成立。如果条件成立就重复执行大括号中的js代码。直到条件不成立为止。
while (条件) {
….
} document.write('结果')
var num = 1;
var total = 0;
while (num<=10) {
total+=num;
num++
}document.write('结果为' + total)
1加到10
do..while循环:
先执行大括号中的js代码,然后再判断条件是否成立。如果条件成立就继续执行大括号中的js代码。直到条件不成立为止。
do {
} while (条件);
var num = 1;
var total = 0;
do {
if (num % 2 == 1) {
total += num;
}
num++
}while (num <= 10);
document.write('结果' + total)
1~10基数相加
for循环:
先执行初始化语句,再判断条件是否成立。如果条件成立,就执行大括号中的js代码。执行完js代码后,再执行循环后的语句。接着,再判断条件是否成立,如果成立就继续执行大括号中的js代码。直到条件表达式不成立为止。
for ([初始化语句]; [初始化语句]; [初始化语句]) {
}
注意:初始化语句只会执行一次。如果没有变量需要初始化,初始化语句可以没有。但是,初始化语句后面的分号一定要有。
var total = 0;
for (i=1; i<=10; i++) {
if (i % 2 == 0 ) {
total += i;
}
}document.write('结果为' + total)
1~10偶数相加
函数:
function 函数名(参数列表) {
函数体…
}
<script>
// 定义一个函数
function sayHello() {
alert("hello javascript")
}
sayHello()
//定义一个带参数的函数
function sayHello(name) {
alert("hello " + name)
}
sayHello('javascript') </script>
function sayHello(name) {
return "我是返回值"
}
var username = sayHello('javascript');
document.write(username)
带返回值的函数
Ø 注意事项:
1) 定义函数的时候不需要定义它的返回值类型。如果函数需要返回结果,那么可以使用return命令直接返回即可;
2) 函数的形参定义不需要使用var;
3) js函数是没有重载(重载:可以存在重名的函数),后面定义的函数会覆盖前面定义的函数。所以,在一个js文件中,不要出现重复的函数定义。
方式二:定义函数变量
Ø 语法格式:
var 函数名 = function(参数列表) {
}
var sayHello = function (name) {
return "我是返回值"
}
document.write(sayHello())
也是定义函数的一种方法
全局变量,局部变量
局部变量:在函数内部定义,只能在当前函数中使用。注意:在函数中定义局部变量,必须加上var。如果没有加var,那么浏览器会再全局中定义该变量
<script>
// var num = 10; //全局变量,两个函数都可以引用
function a() {
var num = 1; //局部变量,只有当前函数可以引用 如果不加var,浏览器就会在全局中定义该变量,test2就可以访问
alert(num)
}
function b() {
alert(num)
}
a()
b()
</script>
自定义对象
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
function Person() { }
//用new关键字创建对象
var user = new Person(); //创建person对象,赋值给user变量
user.name = "echo"; //给user对象添加name属性
user.age = 18; //给user对象添加age属性
user.eat = function () { //给user对象添加eat方法
alert(this.name + "正在吃饭。。。") //this代表当前调用者对象,类似self
};
//调用对象属性
alert(user.name + "," + user.age);
//调用对象的方法
user.eat()
</script>
function 函数名(参数列表) {
函数体…
}
day 32 JavaScript的更多相关文章
- 专题:点滴Javascript
JS#38: Javascript中递归造成的堆栈溢出及解决方案 JS#37: 使用console.time测试Javascript性能 JS#36: Javascript中判断两个日期相等 JS#3 ...
- JavaScript知识点总结
JavaScript学习总结1.JavaScript是作用于网络和HTML的一个编程语言.2.JavaScript代码必须放在<script></script>标签之间,Jav ...
- JavaScript知识点整理
1.JavaScript的定义 JavaScript是一种专门为与网页交互而设计的脚本语言.有下列三部分组成 ①ECMAScript,提供核心语言功能 ②文档对象模型(DOM),提供访问与操作网页内容 ...
- 8.5 JavaScript的BOM(二)
8.5 JavaScript的BOM 即 浏览器对象模型(Browser Object Model) 浏览器对象包括 一.Window(窗口) 如果需要打开一个新的网站,应该通过超级链接等方式让用户主 ...
- Web前端面试题集锦
前端开发面试知识点大纲: 注意 转载须保留原文链接(http://www.cnblogs.com/wzhiq896/p/5927180.html )作者:wangwen896 HTML&CSS ...
- A Deep Dive into PL/v8
Back in August, Compose.io announced the addition of JavaScript as an internal language for all new ...
- PHP操作XML方法之SimpleXML
SimpleXML简介 SimpleXML 扩展提供了一个非常简单和易于使用的工具集,能将XML转换成一个带有一般属性选择器和数组迭代器的对象. 举例XML XML结构部分引用自<<深入理 ...
- 编程语言50年来的变化,我用50种编程语言告诉你“Hello world”怎么写!
当我们学习一门新的语言时,"Hello, World!"通常是我们所写的第一个程序. 因此,所有程序员在职业生涯中至少完成了"Hello, World!"程序员 ...
- Hello World的五十种不同实现方法!!!!!
我们作为一名程序员,职业生涯中至少完成了一个“Hello, World!“程序.当我们学习一门新的语言时,“Hello, World!“通常是我们所写的第一个程序.程序员一般也都会使用多门语言,甚至有 ...
随机推荐
- day02-python与变量
1.堆区开辟空间存放 变量值 2.将存放 变量值 空间的地址提供给栈区 3.栈区为变量名开辟空间存放提供来的地址 变量直接相互赋值 定义变量的优化机制 定义变量与重新赋值
- Pytho, struct处理二进制(pack和unpack)
[转]Python使用struct处理二进制(pack和unpack用法) Leave a reply 转载自:http://www.cnblogs.com/gala/archive/2011/09/ ...
- nginx屏蔽某段IP、某个国家的IP
nginx中可通过写入配置文件的方法来达到一定的过滤IP作用,可使用deny来写. deny的使用方法可用于前端服务器无防护设备的时候过滤一些异常IP,过滤的client ip会被禁止再次访问,起到一 ...
- Aria2+百度网盘 无限制的下载神器
Aria2是一款免费开源跨平台且不限速的多线程下载软件,Aria2的优点是速度快.体积小.资源占用少:支持 HTTP / FTP / BT / Magnet 磁力链接等类型的文件下载:支持 Win.M ...
- 链表(list)使用注意
如下代码是linux上的链表接口源码,使用的这个链表(list)源码,可以方便快捷的建立链表队列,但使用时需要注意的坑有: 1.不支持,多对多,否则在add的时候,因为要加入链表的对象只有一块list ...
- mysql 计算两点经纬度之间的距离含具体sql语句
mysql距离计算,单位m,以及排序 lon 经度 lat 纬度 一般地图上显示的坐标顺序为,纬度在前(范围-90~90),经度在后(范围-180~180) 首先新建一张表,里面包含经纬度 SET F ...
- 流媒体压力测试rtmp&hls(含推流和拉流)
http://blog.csdn.net/sinat_34194127/article/details/50816045 [root@localhost ~]# yum install git unz ...
- 前端-JavaScript1-1——JavaScript简介
1.1 JavaScript用途 前端三层: 结构层 HTML 从语义的角度描述页面的结构 样式层 CSS 从审美的角度装饰页面 行为层 J ...
- 自定义python扩展类型
目标:自定义一个C\C++矩阵类,有几个用于演示的矩阵运算函数或者操作,将其通过 PyTypeOject newType的方式注册到python中成为一种新的类型,并且要可继承. 预备知识 建议先运行 ...
- 20165312 2017-2018-2 《JAVA程序设计》第6周学习总结
20165312 2017-2018-2 <JAVA程序设计>第6周学习总结 一.在本周学习过程中遇到的问题以及对上周测试的查漏补缺 编写110页代码时出现问题,主类Test中创建CPU对 ...