1、JavaScript学习笔记1目录一、 JavaScript简介 2二、 JavaScript语法 21. 2个常用方法 22. 在HTML中加入JavaScript脚本 23. 注释 34. 变量 35. 作用域 36. 数据类型 47. 数据类型转换 68. 运算符 79. 语句 8JavaScript一、 JavaScript简介 javascript是由Netscape公司开发的一种脚本语言 嵌入html中,浏览器中解释执行 JavaScript是基于对象的语言,本身提供丰富的内部对象供设计人员使用 JavaScript是事件驱动的脚本语言 主要作用: 表单数据验证 动态HTML (C
2、SS+JavaScript) 用户交互 数据绑定 数据查找 Ajax核心技术 JavaScript配合DOM(Document Object Model,文档对象模型)实现动态效果 与java区别 JavaScript不要编译,直接解释执行,java需要编译后运行 Java是基于类的语言,设计程序时,必须设计类,使用时创建类的实例,JavaScript基于原型,编程时并不区分类和实例 Java语法要求严格,JavaScript语法相当自由 Java是静态绑定,JavaScript是动态绑定二、 JavaScript语法1. 2个常用方法 window.alert();弹出一个对话框 docum
3、ent.write();在浏览器中输出内容2. 在HTML中加入JavaScript脚本 代码块 直接加入HTML标记中javascript:代码关闭窗体 引用JavaScript脚本3. 注释 单行注释“/”符号/单行注释 多行注释“/*”和“*/”之间/* 多行注释*/4. 变量 隐身定义:直接给变量赋值 显示定义:使用var关键字定义变量var a = haha;b = abcd;var up,down,left,right; 变量命名必须以一个字母或下划线”_”开始,后面字符可以是数字,字母不能使用JavaScript的保留字JavaScript区分大小写JavaScript中重复定义
4、同名变量是合法的,但后面的定义将覆盖前面的定义 var v1 = 123; var v1 = 456;5. 作用域 全局变量:函数之外的变量为全局变量,在任何位置,包括函数内部,缺省var关键字定义的变为均为全局变量 局部变量:定义在函数内部的变量称为局部变量函数中可以使用全局变量,函数外部不能使用函数中定义的局部变量当函数中定义的局部变量与全局变量同名时,局部变量将覆盖全局变量。函数中将使用函数中定义的局部变量,而不是用函数之外定义的全局变量,也不会影响函数之外的全局变量。 var name = 张三; function showname() var name = 李四; document.
5、write(name); showname(); document.write(name); 输出李四 张三如果去掉函数中的var?函数中定义的局部变量,该变量作用域为函数中任何地方,不仅仅包括变量定义语句之后,也包括变量定义语句之前 var name = 张三; function showname() document.write(name); var name = 李四; showname(); document.write(name); 输出undefined张三6. 数据类型JavaScript支持5种基本数据类型和3中引用数据类型(复合数据类型) 基本数据类型:number(数值)s
6、tring(字符串)boolean(布尔)undefined(未定义)null(空) 数值:数值类型包括整数和浮点。JavaScript中所有的数值均被做为浮点数处理,均以64位浮点数的形式进行表示 var n1 = 1; var n2 = 0.123; var n3 = 0xff; var n4 = 1.23e14;NaN表示不是一个数字 字符串由单引号或双引号括起来的一串字符 var s1 = asda; var s2 = asdasd;“”转义字符 布尔true和false undefined和null当一个对象属性不存在或者变量定义后从未赋值时,返回undefined判断一个变量是否是
7、undefined var aaa; if (typeof(aaa) = undefined) typeof是一个一元运算符,以字符串形式返回变量的类型名称null类型只有一个值null,该变量没有保存有效的数值、字符串、布尔、数值或对象。可以通过给一个变量赋null来清除变量的内容。 引用数据类型(复合数据类型)Array数组 Object对象 Function函数 数组JavaScript数组中可以存储任何一种数据类型。组成数组的每一个数据称为数组的一个数组元素通过数组名称和索引访问数组元素,数组名+索引由0开始数组特点 不要求数组元素的类型,元素可以是任何数据类型,同一个数组个元素数据类
8、型可以不同 数组长度可以动态变化 不支持多维数组,但数组元素可以是数组 定义数组通过Array()构造器定义 var names = new Array(3); 这个3没有什么用,因为数组长度可以动态变化 var names = new Array(); names0 = hahaha; names1 = 1234; names2 = true; var names = new Array(hahaha,123,true);直接复赋值 var names =hahaha,1234,true;数组元素 var arr = new Array(9); arr0 = 1; arr1 = 1; arr
9、8 = 1; /arr2 到 arr7undefined类型元素索引是自动增加的非负整数,索引不能为其他类型的值,如果采用其他类型的值作为元素索引,实际上是为数组对象创建一个属性 var arr2 = new Array(); arr2name = test; /为数组对象arr2创建了一个名为name的属性 var n = arr.name; var n1 = arrname;数组嵌套 var arr3 = new Array(2); arr30 = 12; arr31 = 1,2,3,4;数组长度JavaScript中,数组又被作为对象处理,length属性,表示数组长度7. 数据类型转换
10、JavaScript是弱数据类型语言,定义变量是并没有严格要求,不需要定义变量的数据类型,对变量赋值操作时,根据值的类型来确定变量的数据类型。一个变量并不只局限于一种数据类型,变量的数据类型可以在程序中发生变化 自动转化 布尔转化 var name =aa; if (name)alert(asdasdas) var name2; if (name2)alert(asdasdas) 其他类型转布尔原数据转化得到的布尔值数值型值为0或NaN,false,否则true字符串字符串为null时false,其他trueUndefinedfalseNullfalse对象true 布尔转数值或字符转化后类型
11、转化得到的值数值true时1,false时0字符串true时”true”,false时”false” 其他类型转字符串类型转化得到的值数值型数值字符串或字符串”NaN”布尔“true”false”undefined“undefined”null“null”对象如果有toString()方法,则使用此返回值,否则”undefined” 强制转化parseInt():用于在字符串中由左至右提取一个整数值,遇到非数值时停止提取。parseFloat():用于在字符串中由左至右提取一个浮动数值,遇到非数值时停止提取。当第一个字符为非数字字符时,函数返回NaN typeof返回数据类型对应的字符串类型返
12、回字符串数值型“number”字符串“string”布尔“boolean”Undefined“undefined”Null“null”对象“object”函数“function”8. 运算符 运算符算术运算符+、-、*、/、%、+、-、-(取反) 关系运算符=、!=、=、!=、=、=等于= var a = 5; if (a = 5) alert(ok); 全等运算符=,JavaScript不会进行数据类型转化,只有当2个数据类型与值相同时,比较结果才是true if (a = 5) alert(ok2); 引用对象、数组、函数比较时,当他们引用的对象、数组、函数相同时,比较结果true,否则f
13、alse当运算数都是null或undefined时,=成立 逻辑运算符&、|、!、 条件运算符表达式?m:n 点运算符用户访问对象的属性或方法9. 语句 赋值语句= 函数调用用户自定义的函数,直接通过函数名调用,而JavaScript内建对象函数、需要使用对应对象通过”.”运算符进行调用 function testfun() return abc; document.write(testfun(); window.close(); if语句if (条件)else if(条件2)else for循环语句for(初始化;条件判断;条件更新)for(name in arr)每次循环时取对象属性的名称
14、,或数组元素的索引,而不是值 function testfun() var arr = 123,23,true; for (name in arr) alert(name); testfun(); function testfun() for (name in navigator) document.writeln(name); document.writeln(:); document.writeln(navigatorname); document.writeln(); testfun(); while循环语句while(条件) do while循环dowhile(条件) 循环控制breakcontinue switch分支语句switch(参数)case 条件1:代码块1break;case 条件2:代码块2break;case 条件3代码块3break;变量或表达式结果可以是数值型或字符型 with语句用户简化对象的使用。JavaScript内部使用”.”运算符访问对象的元素、属性和方法,通过with可以将对象名提出来,访问元素、方法、属性时,对象名可以省略。 for (name in navigator) with(document) writeln(name); writeln(:); writeln(navigatorname); writeln();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1