JavaScript是一种网页编程技术,基于对象和事件驱动,并具有安全性能的脚本语言。JavaScript可以被嵌入到HTML文件中,不需要经过Web服务器就可以对用户操作作出响应。做到网页和用户更好的交互。由3部分组成,ECMAScript(JavaScript的语法标准),DOM(JavaScript操作网页上的元素的API),BOM(JavaScript操作浏览器的部分功能的API)。

1. 简单易用(可以使用任何编辑器编辑),2.解释执行(逐行执行),3.具有大量的内置的对象。javascript是实现网页与客户之间互动的桥梁。让网页具有更强的生命力。

 2. javascript中的书写位置:1.直接镶嵌在html中,2.文件调用,把html放在另一个文件中,用<script src="javascript.js"></script>”的标记把它嵌入到文档中。当html页面中出现<script>标签后,就会让页面暂停等待脚本的解析和执行。

网页的输出信息

网页的效果

alert(" ")

在网页中弹出提示框,显示信息

confirm("")

在网页中弹出提示框,显示信息,该方法一般与if判断语句结合使用

prompt(" ")

在网页中弹出输入框,一般用来接收用户输入信息

console.log("")

在控制台输出消息,一般用来调试程序

document.write

直接在页面中输出信息

3.对于网页的注释中,单行的注释//,多行注释/*   */,注释的快捷键用ctrl +/.变量名必须以字符或下划线“_”开头,不可以把关键字作为变量命名,其严格区分大小写。除了(_和$ )的特殊符号都不可以命名变量名。不能以纯数字或者数字开头来定义变量名。Ecamascript的变量是松散的数据类型,可以用来保存任何的数据类型。

4.javascript中几种数据类型,简单的数据类型有(number,string,boolean,undefined,null),复杂的数据类型指(array,object(对象,引用))。javascript中的特殊的类型,null(值,表示值为空,表示主动 var n2=null,表示内存有这个值,只是为空,用来销毁数据),undefined(表示变量未被初始化,例如  var n1 内存有这个变量只是没有赋值)。NaN表示不是一个数字。判断一个数字是不是数字用 isNaN(x),Infinity: 无穷大。在javascript中,程序是从上往下的执行,程序一旦报错就不会往下执行。typeof()用来判断数据的类型。

====》null值表示一个空对象指针,如果定义的变量准备在将来用于保存对象,那么最好将改变量初始化为null而不是其它的值。undefined派生自null值,所以undefined==null的返回值是true.  任何涉及NaN的操作都会返回NaN(NaN/10),NaN与任何值都不相等包括其本身。isNaN(n)检测n是否非数值,对接受的数值都先尝试转换数值,再检测是否为非数值。

5.算术运算符的操作的计算(+,-,/,%)

+ (两个数字类型相加,得到的结果是数字类型;一个数字类型和字符串相加,得到是字符串)

2个数字字符串类型相减,得到的是数字类型;一个数字类型和一个非数字字符串相减,得到NaN   not a number).

/(2个数字类型相除,得到是数字类型;一个数字类型和一个数字字符串类型相除,得到的是数字类型;一个数字类型和一个非数字字符串相除,得到NaN   not a number;0做为除数的时候,得到的是 Infinity 无穷大    也是一个数字)

6.类型转换

数值转换:number(可以用于任何数据类型),parseInt(提供第二个参数,转换时使用的基数,即多少进制;数字开头的非纯数字字符串,转换之后保留的是数字的整数部分;非数字开头的字符串,转换之后NaN),parseFloat则专门用于把字符串转换成数值(数字开头的非纯数字字符串,转换之后保留的是前边的数字部分;非数字开头的字符串,转换之后NaN)。

字符串转换:str.toString()与String(),在不知道转换值是不是null或者undefined的情况下,还可以使用String(),它能够将任何类型的字符串转换为字符串。

布尔类型转换:除0之外的所有数字转换为布尔型为true,除" "之外的所有的字符串,转换为布尔型都为true,null和undefined转换为布尔型为false.

7.表达式

将同类型的数据(如变量,函树,常量等),用运算符号按照一定的规则链接起来,有意义的式子称为表达式。==相等只判断值是否相等,===比较值和数据类型,!=不相等,表示值是否不相等,!==不相等,比较值的同时比较数据类型是否不相等

逻辑操作符:

&&(逻辑与):在有一个操作数不是布尔值的情况下,它遵循下列的规则:如果第一个操作数隐式转换为true,则返回第二个操作数;如果第一个操作数隐式转换类型为false,则返回第一个操作数;有一个操作数为null,返回null;如果有一个为NaN,则返回NaN;如果有一个操作数是undefined,则返回undefined.

||(逻辑或):在有一个操作数不是布尔值的情况下。它遵循以下的规则:如果第一个操作数隐式类型转换为true,则返回第一个操作数;如果一个操作数隐式转换为false,则返回第二个操作数。

8.函数对象

date()对象用来处理时间,var mydate = new Date();

mydate.getDay()返回今天是周几;mydate.getDate()返回当前几号;mydate.getFullYear()返回当前的年份;mydate.getMonth()+1返回当前的月份;mydate.getHours()返回当前的小时数;mydate.getMinutes()返回当前的分钟数;mydate.getSeconds()返回当前的秒数。

math()对象

Math.ceil()向上摄入;Math.floor()向下舍入;Math.pow(x,y)x的y次方;Math.max();Math.min();Math.round()四舍五入;Math.random()返回0-1之间的随机数。

9.语句

if else条件语句

三元表达式    条件?结果1:结果2;

循环语句:

当循环与循环发生嵌套的时候遵循以下规则:1.外层为假的时候内层不执行;2:先执行外层再执行内层,只到内层的条件为假的时候再返回外层去执行。

for 适合循环次数已知的循环体,while适用于循环次数未知的循环体。通过函数可以封装任意的多条语句,而且在任何地方,任何时候调用执行。

stitch()语句:

switch(n){

case 1:

如果n和case1的值相匹配,执行该处代码

break;

case 2:

如果n和case2的值相匹配,执行该处代码

break;

default:

如果n和case1、case2的值都不匹配的时候,执行该处代码

 

}

注意case()后的数据类型需要与switch的数据的类型一致。

break语句:跳出当前循环体

continue:跳过本次循环,后边循环体代码继续继续。

10.function()函数

函数使用function()声明,后面跟一组参数以及函数体,语法的说明如下:

function   functionName([arg0,arg2,...argn){
statements
}

说明:functionName是函数要定义的函数名字,属于标识符;[]中的arg1,arg2....argn为函数的参数,[]里边的内容不是必须的,它不是语法。

ECMAScript中的参数在内部用一个数组来表示,在函数体通过arguments对象来访问这个数组参数,说明arguments只是与数组类似,并不是它的实例,[]访问它的每一个元素,length()用来确定传递的参数的个数。

11.javascript的内置的对象  array String  Math  Date

1.Array 数组,主要是用来存储一组数据的,创建数组的两种基本方法,new Array();由一对包含数组项的方括号表示,多个数组项之间用逗号隔开。arrayObject().push(newele1,...newex)按照参数的顺序把指定的值添加到arrayobject的尾部。arrayObject.unshift(newele1...newex)把它的参数的顺序添加到arrayobject的开头。 arrayobject.pop()删除object的最后一个元素,返回删除的哪一个元素;arrayobject.shift()删除开头的第一个元素,返回删除的哪一个元素的值。arrayObject.join(separtor)用于把数组中的所有的元素放入一个字符串,返回值字符串。arrayObject.reverse()用于把数组反序排列;arrayObject.sort(sortby)用于把数组顺序排列,即使传进来的是数字也默认为字符串,所以要对数字排序,支持内置函数。通过比较传入值相减之后的正负值,0来影响排序的顺序。arrayObject.concat(arrayx,arrayx...arrayx)用于链接两个或者多个数组。arrayObject.slice(start,end)从已有的数组中返回选定的元素,start(必需)规定从何处开始选取,如果是负数,从尾部算起,end(规定)从何处结束选取,当参数为负数的时候,其值为字符串长度+该负数,不包含参数的本身。arrayObject.splice(index,count)删除从index处开始的零个或者多个元素,返回被删除的元素的数组,count为0,则不会删除项目,如果不设置,则删除从index开始的所有值。插入信息:arrayObject.splice(index,0,item1,item2,....itemx);替换:arrayobject(index,count,item1,item2,...itemn).

2.字符数组

stringObject.split(separator)把一个字符串分割成字符串的数组;stringObject.charAt(index)返回stringObject中的index位置的字符;stringObject.indexof(str),返回字符串的位置。

stringObject.substr(start,len) 截取字符串,len是可选的,当start时传入的是负数的时候,会将传入的负值与字符串的长度相加,当len为负数的时候,返回空的字符串。

stringObject.replace(regexp/substr,replacement)在字符串中用一些字符替换一些字符或者与一个正则表达式匹配的字符串。

stringObject.toUpperCase()将字符串转换为大写

stringObject.toLowerCase()将字符串转换为小写