Javascript入门学习
编程之道,程序员不仅仅要精通一门语言,而是要多学习几门。
第一课
1:javascript的主要特点
解释型:不需要编译,浏览器直接解释执行
基于对象:我们可以直接使用JS已经创建的对象
事件驱动:可以对以事件驱动的方式相应客户端的输入,无须经过服务器端程序
安全性:不允许访问本地硬盘,不能将数据写入到服务器上
跨平台:js依赖浏览器本身,与操作系统无关
第二课
如何在网页中写Javascript
1:在页面中直接嵌入Javascript
<script language="javascript">
javascript程序
</script>
javascript可以插入在<head></head>标签中间,
也可以放在<body></body>标签中间
最常用放在<head></head>标签之间
案例如下,将javascript代码插入在<head></head>标签中间。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>初学javascript</title> <script language="javascript">
var now=new Date();//获取Date对象的一个实例
var hour=now.getHours();//获取小时数
var min=now.getMinutes();//获取分钟数
alert("当前时间"+hour+":"+min+"\n欢迎访问柠檬学院http://www.bjlemon.com/");
</script>
</head>
<body>
</body>
</html>
案例运行结果如下
案例2代码如下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>我的年月日</title>
<script language="javascript">
var now=new Date();//获取日期对象
var year=now.getYear()+1900;//获得年,在js中年份需要加1900才可以显示此时此刻的年份
var month=now.getMonth()+1;//获得月份,月份是0-11,所以在js中需要加1
var date=now.getDate();//获得日
var day=now.getDay();//获得星期几
var day_week=new Array("礼拜日","礼拜一","礼拜二","礼拜三","礼拜四","礼拜五","礼拜六");
var week=day_week[day];
var time="当前时间:"+year+"年"+month+"月"+date+"日"+week;
alert(time);
</script>
</head>
<body></body>
</html>
案例2运行结果如下
2:引用外部的Javascript
如果脚本比较复杂或者是同一段代码被很多页面所使用,则可以将这些脚本代码放置在一个单独的文件中,该文件的扩展名是.js,然后再需要使用该代码的web页面中链接该javascript文件即可
<script language="javascript" src="*.js">
</script>
(建议)以上代码一般写在<head></head>中间比较好
在.js后缀的文件中,不需要使用<script></script>标签对括起来
<body onload="getDate()">表示的是加载页面时调用getDate()方法getdate()是定义在.js后缀的文件中的方法
此案例后缀是.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>引用外部的js</title>
<script language="javascript" src="js1.js">
</script>
</head>
<body onload="getdate()">
</body>
</html>
此案例后缀是.js
function getdate(){
var now=new Date();//获取日期对象
var year=now.getYear()+1900;//获得年,在js中年份需要加1900才可以显示此时此刻的年份
var month=now.getMonth()+1;//获得月份,月份是0-11,所以在js中需要加1
var date=now.getDate();//获得日
var day=now.getDay();//获得星期几
var day_week=new Array("礼拜日","礼拜一","礼拜二","礼拜三","礼拜四","礼拜五","礼拜六");
var week=day_week[day];
var time="当前时间:"+year+"年"+month+"月"+date+"日"+week;
alert(time); }
综合上面两个案例的运行结果是
第三课
javascript的语法
1:javascript的语法
1.1:js的变量区分大小写
usename,useName这是两个不同的变量
1.2:每行结尾的分号可有可无,如果语句的结束没有分号,那么js
会自动将这行代码的结尾作为语句的结尾
alert("hello world");
alert("hello world")
1.3:变量是弱类型
定义变量时只使用var运算符
例如:var usename="biexiansheng";
var age=22;
1.4:使用大括号标签代码块
{ //代码}被封装在大括号内的语句按照顺序执行
1.5:注释
1.5.1:单行注释 //
单行注释使用双斜线"//"开头,在"//"后面的文字即为注释内容
注释的内容在代码执行过程中不起作用。
var now=new Date();//获取日期对象
1.5.2:多行注释 /**/
多行注释以/*开头,以*/结尾,在两者之间的内容为注释内容
在代码执行过程中不起任何作用。
/*
*功能:获取当前日期
*作者:biexiansheng
*/
function getClock(){
//内容
}
第四课
javascript的数据类型(不管javascript有多少种数据类型,声明的时候只可以使用var来声明)
1:数值型
整形:123 //十进制
0123 //八进制,以0开头
0x123 //十六进制 ,以0x开头(是零不是o)
浮点型:整数部分加小数部分,只能以十进制表示,不过可以使用科学记数法
3.1415926 //标准形式的浮点数
3.14E9 //采用科学计数法来表示,代表的是3.14乘以10的9次方
2:字符型
字符型数据是使用单引号或者多引号括起来的一个或者多个字符
例如:'a' 'hello world'
"a" "hello world"
javascript中无char数据类型
如果要表示单个字符,必须要使用长度为1的字符串
单引号包含双引号 '"hello"'
双引号包含单引号 "'world'"
3:布尔型
布尔型数据只有true或者false,在js中也可以使用整数0代表false,使用非0的整数代表true
4:转义字符
以反斜杠开头的不可显示的特殊字符通常称为控制字符,也被称为转义字符
\b退格 \n换行 \f换页 \tTab符 \'单引号 \" 双引号 \\反斜杠
5:空值
null,用于定义空的或者不存在的引用
例如 var a=null;
6:未定义值
已经声明但是没有赋值的变量
var a;
alert(a);
弹出undefined是关键字,用来代表未定义值
7:Array型
数组类型,数组是包含基本和组合数据的序列,在javascript脚本语言中
每一种数据类型对应一种对象,数据本质上即为Array对象。
var score=[45,56,45,78,78,65];
由于数组本质上为Array对象,则可用运算符new来创建新的数组,如
var score=new Array(45,65,78,8,45);
访问数组中特定元素可通过该元素的索引位置index来实现,如下面语句声明
变量返回数组score中第4个元素
var m=score[3];
第五课
变量的定义与使用
1:变量的命名规则
变量名由字母,数字,下划线组成,但是不能以数字开头
不能使用javascript中的关键字
严格区分大小写
例如 username username
2:变量的声明
var variable
可以使用一个var声明多个变量,比如
var now,year,month,date;
可以在声明变量的同时对它进行赋值,也就是初始化
var now="2016-8-11",year="2016",month="8",date="11";
如果只是声明了变量,没有赋值,那么该变量的默认值就是undefined
javascript是弱类型,声明的时候不需要指定变量的类型,变量的类型将根据变量的值来确定
全局变量的声明:1:在函数体外的声明都是全局变量,无论是否有var声明
2:在函数体内部使用var声明的变量是局部变量,不使用var声明的变量是全局变量
//如果给一个尚未声明的变量类型赋值时,javascript会自动使用该变量创建一个布局变量
例如:a="hello world";
funcation test(){
var c="局部变量";//这个c是局部变量,也是唯一的一种方式定义局部变量
b="全部变量";//这个b也是全部变量
}
function test2(){
alert(b);
}
3:变量的作用域
变量的作用域是指变量在程序中的有效范围
全部变量:定义在所有函数之外,作用于整个代码的变量
局部变量:定义在函数体内,只作用于函数体内的变量
第六课
运算符的应用
1:赋值运算符
简单赋值运算符
例如var useName='tom';//简单赋值运算符
复合赋值运算符
a+=b;//相当于a=a+b;
a-=b;//相当于a=a-b;
a*=b;//相当于a=a*b;
a/=b;//相当于a=a/b;
a%=b;//相当于a=a%b;
a&b=b;//相当于a=a&b;逻辑与运算
a|=b;//相当于a=a|b;逻辑或运算
a^=b;//相当于a=a^b;逻辑非运算符
2:算术运算符
+ - * / %
++ 前++先加后用 后++先用后加
-- 前--先减后用 后--先用后减
注意:在进行除法运算时,0不能作为除数,如果0作为除数,那么将会返回这个关键字infinity
3:比较运算符
>大于 <小于 >=大于等于 <=小于等于
==等于 只是根据表面值进行判断,不涉及数据类型,alert("11"==11);返回true。
===绝对等于 不仅判断表面值,还要判断数据类型是否一样。
!= 不等于 只是根据表面值进行判断,不涉及数据类型。
!==不绝对等于 不仅判断表面值,还要判断数据类型是否一样。
4:逻辑运算符
!逻辑非
&&逻辑与。只有当两个操作数的值都为true的时候,结果才会true
||逻辑或。只有两个操作数有一个为true,则结果为true
5:条件运算符
条件运算符是javascript支持的一种特殊的三元运算符
语法格式:操作数?结果1:结果2;
如果操作数的值为true,则整个表达式的结果为结果1
如果操作数的值为false,则整个表达式的结果为结果2
6:字符串运算符
连接字符串的两种方式
+。 var a="hello"+"world";
+=。var a+="hello world!!!";
第七课
流程控制if,switch语句
1:if条件判断语句
1:if(expression){
//expression为true的时候执行里面的语句
}
2:if(expression){
//expression为true的时候执行里面的语句
}else{
//expression为false的时候执行里面的语句
}
3:if(expression){
//expression为true的时候执行里面的语句
}else if(expression1){
//expression1为true的时候执行里面的语句
}else if(expression2){
//expression2为true的时候执行里面的语句
}else{
//这个else可有可无,如果有的话,则上述条件
//都不满足的时候指定else
}
2:switch语句
优点:可读性好,易读
语法格式
switch(表达式){
case 条件1:语句1;
break;
case 条件2:语句2;
break;
case 条件3:语句3;
break;
case 条件4:语句4;
break;
case 条件5:语句5;
break;
default:语句6//无匹配的执行此语句;
}
第八课
流程控制之for,while,do-while语句
1:for循环语句
语法格式
for(1初始条件;2循环条件;4增长步幅){
3语句体;
}
//先执行初始条件,然后判断循环条件是否返回true,
//如果返回false,终止条件,如果为true,执行语句体,
//然后执行增长步幅
//1->2true->3->4->2true->3->4
//1->2false->3->4->2false for循环结束
实例
var sum=0;
for(var i=0;i<10;i++){
sum+=i;
}
alert(sum);
2:while循环语句
语法格式
while(表达式1){
2语句体;
}
1true->2->1true->2.....
实例
var sum=0;
var i=1;
while(i<10){
sum+=i;
i++;
}
alert(i);
3:do-while循环语句
do-while循环的循环能够保证至少执行一次。
语法格式
do{
1执行循环体
}while(2判断条件);
1->2true->1->2true.....
注意:while循环是先判断条件是够成立,然后再根据判断的结果
是否执行循环体
do-while循环是先执行一次循环体,然后再判断条件是否为true.
所以do-while循环能够保证至少执行一次。
实例
var sum=0;
var i=1;
do{
sum+=i;
}while(i<=10);
alert(sum);
Javascript入门学习的更多相关文章
- JavaScript入门-学习笔记(一)
JavaScript入门(一) 学习js之前,我们先来了解一下,什么是JavaScript? JavaScript是一种解释型语言.在运行的时候,一边读一边编译一边执行.简单来说就是,在执行js代码时 ...
- JavaScript入门学习书籍的阶段选择
对于许多想学习 JavaScript 的朋友来说,无疑如何选择入门的书籍是他们最头疼的问题,或许也是他们一直畏惧,甚至放弃学习 JavaScript 的理由.在 JavaScript 方面,自己不是什 ...
- JavaScript入门学习(1)
<html> <script type ="text/javascript"> var i,j; for (i=1;i<10;i++){ for (j ...
- JavaScript入门学习之二——函数
在前一章中讲了JavaScript的入门语法,在这一章要看看函数的使用. 函数的定义 JavaScript中的函数和Python中的非常类似,只不过定义的方式有些不同,下面看看是怎么定义的 //定义普 ...
- JavaScript入门学习之一——初级语法
JavaScript是前端编辑的一种编程语言(不同于html,html是一种标记语言),所以和其他的编程语言一样,我们将会从下面几点学习 基础语法 数据类型 函数 面向对象 JavaScript的组成 ...
- javascript入门学习笔记2
JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型: 实例 var x // x 为 undefined var x = 6; // x 为数字 var x = "Bil ...
- javascript入门学习笔记
<button type="button" onclick="alert('Welcome!')">点击这里</button>alert ...
- JavaScript入门学习笔记(JSON)
JSON是JavaScript Object Notation的简称,是一种轻量级的数据交换格式. JSON使用JS的语法,但其格式只是一个文本,可以被任何编程语言读取病作为数据格式传递. JSON以 ...
- JavaScript入门学习笔记(异常处理)
try:语句测试代码块的错误,当try中的代码块出错时执行catch中的代码块. catch:语句处理错误: throw:语句创建或抛出自定义异常. 三者一起使用可以控制程序流并生成自定义异常信息. ...
随机推荐
- Jquery 生成时钟
$(function(){ showTime(); }): function showTime () { var curtime=new Date(); $(".getDateTime&qu ...
- Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案
我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图片错位.重复.闪烁等问题,其实这些问题总结起来就是一个问题,我们需要对这些问题进行ListView的优化. 比如L ...
- java核心知识点学习----重点学习线程池ThreadPool
线程池是多线程学习中需要重点掌握的. 系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互.在这种情形下,使用线程池可以很好的提高性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考 ...
- python 写文件,utf-8问题
写文件报数据. 同样的编码. 含中文字段的输出文件 编码为utf-8 无中文的却是asc import codecstxt = u”qwer”file=codecs.open(“test”,”w”,” ...
- POJ 3181 Dollar Dayz DP
f[i][j]=f[i-j][j]+f[i][j-1],结果很大需要高精度. //#pragma comment(linker, "/STACK:1024000000,1024000000& ...
- 权限<九>
介绍 角色就是相关权限的命令集合,使用角色的主要目的就是为了简化权限的管理,假定有用户 a,b,c 为了让他们都拥有权限 1. 连接数据库 2. 在 scott.emp 表上 select,ins ...
- ICE系列之3对象接口定义语言——slice
Slice 定义由编译器编译到特定的实现语言 .编译器把与语言无关的定 义翻译成针对特定语言的类型定义和 API.开发者使用这些类型和 API 来 提供应用功能,并与 Ice 交互.用于各种 ...
- HLSL之镜面反射光照
今天学习的是镜面的反射光照,其实一般在场景中基本环境光和漫反射光照已经可以表现出一个不错的照明了,今天的镜面反射光照其实仅仅适合于需要在表面添加抛光或者闪耀的物体上,例如金属.玻璃等等,同时也是基于之 ...
- jquery实现div遮罩层
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- HtmlHelper和强类型转换
MVC HtmlHelper;1.Url():<%= Html.ActionLink("用户列表","方法","控制器") %> ...