JavaScript的基础语法

RIA(Rich Internet Applications)丰富互联网程序,具有高度互动性、丰富用户体验以及功能强大的客户端。
RIA最突出的特点为“Rich”,同时RIA最核心的部分也体现在“Rich”中。“Rich”包含了两层含义。
丰富的数据模型:RIA技术提供了多种数据模型来处理复杂的数据操作,如json、xml。使用RIA数据能够被缓存在客户端,从而可以实现一个比基于HTML的响应速度更快,且数据往返于服务器的次数更少的用户界面。
丰富的界面元素:RIA技术提供了比HTML更为丰富的界面表现元素,为用户提供好的使用体验。

1.JavaScript 基本概念
1).JavaScript 一种基于对象和事件驱动的具有安全性能的脚本语言
事件:一件事情
脚本语言,不用编译,浏览器解释运行。
基于对象:面向对象编程
脚本语言:解释性语言,解释性语言(不用编译,写完运行就行)javascript是由浏览器解释运行
基于对象:它有一些内置对象可以给我们使用。它不完全具备面向对象的三大特征(封装,继承,多态)。javascript中的重写,重载,继承全是模拟。(了解就行)
事件驱动:javascript的执行全是由事件触发的。

2).组成部分:Javascript 的官方名称是 “ECMAScript”
ECMAScript,描述了该javascript组成语言的语法和基本对象。
文档对象模型(DOM),描述处理网页内容的方法和接口。
浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。

3).Javascript的历史,现状和未来
历史:前身:网景公司(Netscape) 的Livescript 。网景与Sun公司共同將之推为脚本语言的标准,改名為Javascript。
现状:2005年,Ajax热潮为JavaScript社区注入新的血液 。
未来:在未来很长一段时间内都是作为客户端处理的重要程序。

4).Javascript的作用:
1网页特效;2表单验证;3减少用户操作;4增加安全性;5减少编写和维护代码的工作量;6响应事件;7游戏;

5).javaScript与Java的不同
1.Java代码必须编译才能执行,而JavaScript不需编译,只需由浏览器解释执行;
2.Java和JavaScript虽然都可以在服务器与客户端执行,但Java多运行于服务器,而JavaScript多用于客户端;
3.JavaScript使用的是松散的数据类型,而Java使用的是严谨的数据类型。

6)编写第一个Javascript程序
1.开发工具:任何可以编写 网页文档的软件都可以用来开发 Javascript。
2.加入Javascript代码
(1)直接加入HTML文档中 可以写在任意位置

注意:这一段标签中并不包含任何程序代码,而是程序写在另一个文件中,利用 SRC 将该外部文档指出,加载执行。

7)注释
1注释的作用:
Javascript 注释可用于增强代码的可读性。
2 注释的使用方式
1.单行注释: // 注释的内容
2.多行注释: /* 注释的内容 */

8)注意事项
1.HTML标签不区分大小写
2.Javascript语法区分大小写
3.结束处分号可选(好的编程习惯不省略分号)
4.要用英文状态的标点符号

2.变量 : var 变量名称=值
js属于松散类型的程序语言 /弱类型
java 属于严谨类型的程序语言 /强类型
var a=1;//数值
var b=1.1;//数值
var c=“a”;//字符串
var c=‘abc’;//字符串
var t=true;//布尔

3.标识符: 字母,数字,下划线和$组成的 不能以数字开头 不能是关键字

4 .数据类型

1.基本数据类型
数值number 字符串string 布尔 boolean
2.复合/复杂数据类型
数组 对象(String Math Date Number Boolean)
1)数组Array 长度可变,可以存储任意类型数据,下标从0开始
1.定义:
一维 var a=new Array(10); a[0]=“abc”;
var a=new Array(“abc”,1,2,3);
var a=[“abc”,1,2,3];
二维 var a=new Array();a[0]=new Array(1,2,3);
var a=new Array(new Array(1,2,3),new Array(4,2,7));
var a=[[1,2,4],[3,5,6],[6,7,8]];
2.length 属性 长度
join("-");以 “-” 作为连接数组中元素的分隔字符,返回拼接后的数组
toString():将数组的内容转成以逗号隔开的字符串 。
a.concat(b) 将数组b连接到a数组之后
a.reverse() 数组元素反转
sort() 排序
slice(start,end) 返回子数组 下标 包头不包尾

2)对象(String Math Date Number Boolean)
//String对象
	var  s=new String("abc汉字");
	//length 属性可返回字符串中的字符数目
	document.write(s.length+"<br>");
	//方法
	document.write(s.slice(-2, 5)+"<br>");//如果 start 为负 它将被替换为 length+start。
	document.write(s.slice(3, 5)+"<br>");//如果 start 为负 它将被替换为 length+start。
	document.write(s.substring(-1, 3)+"<br>");//如果 start 或 end 为负数,那么它将被替换为 0。
//Date 对象
	var d=new Date();
	document.write(d+"<br>");
	//在页面上分别打印输出年份、月份、日期、星期几、小时、分钟和秒
	document.write("年份"+d.getFullYear()+"<br>");
	document.write("月份"+(d.getMonth()+1)+"<br>");
	document.write("日期"+d.getDate()+"<br>");
	document.write("星期"+d.getDay()+"<br>");
	document.write("小时"+d.getHours()+"<br>");
	document.write("分钟"+d.getMinutes()+"<br>");
	document.write("秒"+d.getSeconds()+"<br>");
	//d.setFullYear(2016, 2, 3)
	document.write(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()+"  "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()+"<br>");

	document.write(d.toLocaleDateString()+"<br>");//本地日期  2017-09-09
	document.write(d.toLocaleString()+"<br>");//本地日期和时间 2017-09-09 11:11:11
	document.write(d.toLocaleTimeString()+"<br>");//本地时间  11:11:11

//Number 
	var myNum=new Number(value);
	var myNun=Number(value)
	document.write(Number.MAX_VALUE+"<br>");
	document.write(Number.MIN_VALUE+"<br>");
//Boolean 对象
	var b=new Boolean(true);
	document.write(b.toString()+"<br>");
//Math
	document.write(Math.PI+"<br>");

  3).特殊数据类型
null空  undefined 未定义
(1)null:null 在程序中代表“无值”或者“无对象”。可以通过给一个变量赋值 null 来清除

变量的内容。
(2)undefined:声明了变量但从未赋值或这对象属性不存在

5 数据类型的隐式转换
1) 数据类型的隐式转换:直接转,默认的规则
(1)JavaScript 属于松散类型的程序语言
①变量在声明时不需要指定数据类型。
②变量由赋值操作确定数据类型。
(2)不同类型数据在计算过程中会自动进行转换
①数字+字符串:数字转换为字符串
②数字+布尔值:true 转换为 1,false 转换为 0
③字符串+布尔值:布尔值转换为字符串 true 或 false
④布尔值+布尔值:布尔值转换为数值 1 或 0

2)显式转换:利用转换的方法
(1)数据类型转换函数
toString() 变量.toString()转换成字符串
parseInt(值) 转换成整数:parseInt(“123.4abc”)>123 不是整数:parseInt(“abc123.4”)>NaN
parseFloat(值) 转换成小数:parseFloat(“123.4abc”)>123.4 不是小数:parseFloat(“abc123.4”)>NaN
typeof:查询数值当前类型,返回 string/number/boolean/object
Number() 转换成数值:Number(“123.4”)>123.4 不是数值:Number(“123.4abc”)/Number(“abc123.4”)> NaN
(2)内建函数
NaN:not a number是Number对象的一个静态的属性,非常特殊,它不是数字,所以任何数跟它都不相等,甚至 NaN本身也不等于 NaN
isNaN(str): is not a number,判断文本是否为数值,false 为数值,true 为非数值 isNaN(“123”)>false
eval() 将字符串重新运算var v=“1+2*3”; eval(v)
>7

6.函数 关键字function
定义:function 函数名(变量名1,变量名2…){
函数体
}
调用: 函数名();
可以使用return语句来返回函数值,但不需要有返回值类型

7.变量的作用域
1局部变量:在函数中声明,必須使用 var声明
2全局变量:在函数外声明,无须使用 var声明

  1. 表达式和运算符
    运算符是完成操作的一系列符号。表达式是运算符和操作数的组合。
    1)算术运算符+ - * / % ++ –
    2)逻辑运算符 && || !

    1. 赋值运算符= += -= *= /= %=
      4)比较运算符 > >= < <= == !=
      5)字符串运算符将两个字符串值连结在一起用+。还可以使用简写的方式(+=)来进行表达。
      6)注意事项
      (1)判断是否相等要用==,不能用equals
      严格相等: “=”类型、数值都相同。
      非严格相等:!

      例如:var a = “10”; var b = 10;
      a == b 相等 a === b不相等 a !== b 相等

    (2)++i和i++的区别
    (3)用表达式表示i大于x,小于y,应: i>x&&i<y (而不是x<i<y)
    9.语句
    语句用于实现基本的程序控制和操作功能.
    1)if条件选择语句
    2)for循环语句
    var c=new Array(“1”,“2”,3,4,5,6,“abc”,“在”,1.3);
    for ( var i = 0; i < a.length; i++) {
    document.write(a[i]+"
    ");
    }

    3)for(…in…)语句
    for ( var i in a) {
    document.write(a[i]+"
    ");
    }
    4)break语句与continue语句的区别
    A:break语句结束当前的while,for循环以及do…while循环,直接跳出循环,执行循环下面的语句.
    B:continue语句结束本次循环

猜你喜欢

转载自blog.csdn.net/SqrsCbrOnly1/article/details/91377223