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的更多相关文章

  1. 专题:点滴Javascript

    JS#38: Javascript中递归造成的堆栈溢出及解决方案 JS#37: 使用console.time测试Javascript性能 JS#36: Javascript中判断两个日期相等 JS#3 ...

  2. JavaScript知识点总结

    JavaScript学习总结1.JavaScript是作用于网络和HTML的一个编程语言.2.JavaScript代码必须放在<script></script>标签之间,Jav ...

  3. JavaScript知识点整理

    1.JavaScript的定义 JavaScript是一种专门为与网页交互而设计的脚本语言.有下列三部分组成 ①ECMAScript,提供核心语言功能 ②文档对象模型(DOM),提供访问与操作网页内容 ...

  4. 8.5 JavaScript的BOM(二)

    8.5 JavaScript的BOM 即 浏览器对象模型(Browser Object Model) 浏览器对象包括 一.Window(窗口) 如果需要打开一个新的网站,应该通过超级链接等方式让用户主 ...

  5. Web前端面试题集锦

    前端开发面试知识点大纲: 注意 转载须保留原文链接(http://www.cnblogs.com/wzhiq896/p/5927180.html )作者:wangwen896 HTML&CSS ...

  6. A Deep Dive into PL/v8

    Back in August, Compose.io announced the addition of JavaScript as an internal language for all new ...

  7. PHP操作XML方法之SimpleXML

    SimpleXML简介 SimpleXML 扩展提供了一个非常简单和易于使用的工具集,能将XML转换成一个带有一般属性选择器和数组迭代器的对象. 举例XML XML结构部分引用自<<深入理 ...

  8. 编程语言50年来的变化,我用50种编程语言告诉你“Hello world”怎么写!

    当我们学习一门新的语言时,"Hello, World!"通常是我们所写的第一个程序. 因此,所有程序员在职业生涯中至少完成了"Hello, World!"程序员 ...

  9. Hello World的五十种不同实现方法!!!!!

    我们作为一名程序员,职业生涯中至少完成了一个“Hello, World!“程序.当我们学习一门新的语言时,“Hello, World!“通常是我们所写的第一个程序.程序员一般也都会使用多门语言,甚至有 ...

随机推荐

  1. php配置php_pdo_mysql模块

    网上的都是什么编译安装的,总算找到一个简单的方法 安装好PHP yum install php php-fpm -y 直接安装pdo模块 yum install php-pdo_mysql 在/etc ...

  2. python从含有汉字和数字的字符串中提取数字部分

    我遇到的问题是:我想要从字符串“1小时12分钟”中(其中两个数字是变化的)截取出1和12. 切片的方法比较简单,但不适合变化的字符串. filter(str.isdigit,"1小时12分钟 ...

  3. pycharm 3.4 破解

    修改host,增加一行: 0.0.0.0 account.jetbrains.com 使用Activate code注册: EB101IWSWD-eyJsaWNlbnNlSWQiOiJFQjEwMUl ...

  4. opencv的移植

    一.opencv在ARM上的移植 http://www.cnblogs.com/emouse/archive/2013/04/01/2993842.html http://blog.csdn.net/ ...

  5. koa2+log4js+sequelize搭建的nodejs服务

    主要参考http://www.jianshu.com/p/6b816c609669这篇文章 npm安装使用国内taobao镜像,速度更快些 npm --registry https://registr ...

  6. SqlServer查询某个表的列名称、说明、备注、类型等

    SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说明 = case when a.colorder=1 then isnull ...

  7. PAT 甲级 1054 The Dominant Color (20 分)

    1054 The Dominant Color (20 分) Behind the scenes in the computer's memory, color is always talked ab ...

  8. 纯CSS制作图形效果

    下面所有的例子都是在demo.html的基础上添加相关样式实现的. <!DOCTYPE html> <html> <head> <meta charset=& ...

  9. Chapter3 复杂度分析(上):如何分析,统计算法的执行效率和资源消耗

    数据结构解决的问题:“快” + “省”,即为时间,空间复杂度分析 1:为什么需要复杂度分析? 因为通过统计手段分析的结果受到两个因素的影响,一:测试结果非常依赖测试环境,二:测试结果受数据规模的影响很 ...

  10. 六、框架<iframe>、背景、实体

    HTML5框架 框架标签(frame) 框架对于页面的设计有着很大的作用 框架集的标签(<frameset>) 框架集标签定义如何将窗口分割为框架 每一个frameset定义一系列行或列 ...