【唠叨两句】
不得不承认学习是件枯燥乏味的事情,为了监督自己能坚持走下去并且做到知识的沉淀积累和升华特开通此博客撰写学习笔记,希望自己坚持到底同时也希望大家能多多指点共同交流,如果大家对笔记中出现的错误或者有好的建议请留言或加我QQ:907607658
首先激励下自己:编程高手=坚持+学习+苦练+交流,下面正式开始自己的学习:
【JavaScript简介】
通俗来讲JavaScript就是一种脚本语言,它并不编译生成机器代码,只是由浏览器的解释器将其动态地处理成可执行的代码,利用JavaScript可以减少客户端对服务器的访问,同时也可以增加网页的动态显示效果(HTML只能制作出静态的网页,无法独立的完成与客户端动态交互的网页设计)。
JavaScript也是一种面向对象的编程语言,它所包含的对象由两部分组成,即变量和函数也称为属性和方法。
JavaScript同样是一种安全性语言,它不允许访问本地硬盘,并且不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互,从而有效的防止数据丢失。
【JavaScript学习笔记——第一天】
【JavaScript基本语法——变量】
(1)JavaScript是弱类型的编程语言——所有变量的声明都要用:var
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title></title>
- <script type="text/javascript">
- var n = 'Hello World!';
- alert(n);
- </script>
- </head>
- <body>
- </body>
- </html>
代码执行效果:
alert()函数:弹出消息对话框(对话框中有一个OK按钮)
(2)变量名只能由字母、下划线开头,且不能使用JavaScript中的关键字
(3)JavaScript声明字符串可以用双引号也可以用单引号,建议用单引号,方便和HTML、C#等的集成,避免使用转义字符。
(4)JavaScript变量没有块级作用域的概念,看下面f1函数中变量n的作用域
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title></title>
- <script type="text/javascript">
- //定义函数f1
- function f1() {
- var sum = 10;
- if (sum > 5) {
- var n = 10;
- n++;
- }
- alert(n);
- }
- f1(); //调用函数f1
- </script>
- </head>
- <body>
- </body>
- </html>
【JavaScript基本语法——六种数据类型】
1、Boolean(布尔) 2、Nummber(数字) 3、String(字符串) 4、Undefined(未定义) 5、Null(空对象) 6、Object(对象类型)
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title></title>
- <script type="text/javascript">
- var n1 = true;
- var n2 = 90;
- var n3 = '好人一生平安!';
- var n4;
- var n5 = null;
- var n6 = new Object();
- alert('n1:' + typeof(n1) + ' n2:' + typeof(n2) + ' n3:' + typeof(n3) +' n4:' + typeof(n4) +' n5:' + String(n5) +' n6:' + typeof(n6));
- </script>
- </head>
- <body>
- </body>
- </html>
typeof()函数:查询数据类型
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title></title>
- <script type="text/javascript">
- var n = new Object();
- alert(n instanceof Object);
- </script>
- </head>
- <body>
- </body>
- </html>
代码执行效果:
instanceof()函数:判断数据类型
【JavaScript基本语法——函数】
(1)JavaScript中的方法没有访问修饰符,没有返回值类型,参数列表中的参数不需要写类型(var),函数名首字母小写。
- function 函数名称(参数表) {
- 函数执行部分;
- }
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title></title>
- <script type="text/javascript">
- function ff(sum) {
- alert(sum);
- }
- ff(100);
- ff('好人一生平安!');
- </script>
- </head>
- <body>
- </body>
- </html>
(2)在JavaScript函数参数表中传递任意个参数
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title></title>
- <script type="text/javascript">
- function ff() {
- var sumNum = 0;
- for (var i = 0; i < arguments.length; i++) {
- sumNum += arguments[i];
- }
- return sumNum;
- }
- var result = ff(1,2,3,4,5);
- alert(result);
- </script>
- </head>
- <body>
- </body>
- </html>
提升小练习:传递两个参数并计算两个数之间的所有数字的和,包括这两个数字
方法一:
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title></title>
- <script type="text/javascript">
- function f1(n1, n2) {
- var sum = 0;
- for (var i = n1; i <= n2; i++) {
- sum += i;
- }
- return sum;
- }
- var result = f1(1, 100);
- alert(result);
- </script>
- </head>
- <body>
- </body>
- </html>
方法二:
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title></title>
- <script type="text/javascript">
- function f2() {
- var sum = 0;
- for (var i = arguments[0]; i <= arguments[1]; i++) {
- sum += i;
- }
- return sum;
- }
- var result = f2(1, 100);
- alert(result);
- </script>
- </head>
- <body>
- </body>
- </html>
代码执行效果:
(3) JavaScript匿名函数
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title></title>
- <script type="text/javascript">
- var f1 = function () {
- return '努力学习中……';
- }
- var result = f1();
- alert(result);
- </script>
- </head>
- <body>
- </body>
- </html>
注:一旦将一个匿名方法赋值给了一个变量,则一定要在后面加上分号。
【JavaScript基本语法——面向对象】
创建对象和创建函数语法一样,只不过对象名命名时要注意:对象名首字母大写。
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title></title>
- <script type="text/javascript">
- function Person(){}
- var per = new Person();
- per.name = '张三';
- per.age = '18';
- per.gender = '男';
- per.sayHello = function () {
- alert('这方法也可以……');
- };
- alert(per.name);
- alert(per.age);
- alert(per.gender);
- per.sayHello();
- </script>
- </head>
- <body>
- </body>
- </html>
【JavaScript基本语法——数组】
- </pre><span style="font-size:18px">代码执行效果:</span><p><span style="font-size:18px"><span style="font-size:18px"><span style="font-size:18px"></span></span></span></p><pre name="code" class="html"><!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title></title>
- <script type="text/javascript">
- //var shuZu = new Array();
- //shuZu[0] = 1;
- //shuZu[1] = '好人';
- //shuZu[2] = true;
- //for (var i = 0; i < shuZu.length; i++) {
- // alert(shuZu[i]);
- //}
- var shuZu = [1, 2, 3];
- for (var i = 0; i < shuZu.length; i++) {
- alert(shuZu[i]);
- }
- </script>
- </head>
- <body>
- </body>
- </html>
【JavaScript基本语法——键值对】
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title></title>
- <script type="text/javascript">
- //var jian = new Array();
- //jian['hr'] = '好人';
- //jian['ys'] = '一生';
- //jian['pa'] = '平安';
- //for(var key in jian){
- // alert(key+'-----'+jian[key]);
- //}
- var jian = { "hr": "好人", "ys": "一生", "pa": "平安" };
- for(var key in jian){
- alert(key+'----'+jian[key]);
- }
- </script>
- </head>
- <body>
- </body>
- </html>
【JavaScript基本语法——给字符串String扩展方法】
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title></title>
- <script type="text/javascript">
- //判断给定字符串是否是邮箱
- //传统方法:
- //var msg = '123456789@qq.com';
- //function isEmail(str) {
- // return str.indexOf('@') != -1 ? true : false;
- //}
- //alert(isEmail(msg));
- //给字符串扩展个方法进行判断,以后的字符串都可以拥有该方法
- String.prototype.isEmail = function () {
- return this.indexOf('@') != -1 ? true : false;
- }
- var msg = '123456789@qq.com';
- alert(msg.isEmail());
- </script>
- </head>
- <body>
- </body>
- </html>