Java基础笔记16_JavaScript_第1页
Java基础笔记16_JavaScript_第2页
Java基础笔记16_JavaScript_第3页
Java基础笔记16_JavaScript_第4页
Java基础笔记16_JavaScript_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、day 3131-01JavaScript:JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端:程序设计语言。特点:交互性(信息的动态交互);安全性(不允许直接访问本地硬盘);跨平台性(只要可以解析js的浏览器都可以执行,和平台无关)JavaScript与java不同:1.JS是Netscape公司的产品,前身是LiveScript;java是Sun公司的产品,现在是Oracle公司的产品。2.JS是基于对象,java是面向对象3.JS只需解释就可以执行,java需要先编译成字节码文件,再执行。4.JS是弱类型,java是强类型。强类型:对每一种数据都定义好其类型,并对该类型

2、所分配的空间进行好定义。弱类型:有一个空间,想放什么都行。31-02JavaScript与HTML相结合的方式:1将JavaScript代码封装到标签中alert(“hello”);2.将JavaScript代码封装到js文件中,并通过中的scr属性进行导入注意:如果标签中使用src属性,那么该标签中封装的JavaScript代码不会被执行。所有通常导入js文件都是用单独来完成。alert(“hello”); /这个代码不会被执行。导入一个js文件:31-03JavaScript可以写在HTML的任意位置。支持单行和多行注释JavaScript的语法:通常高级程序设计语言的语法内容:1. 关键

3、字:该种语言中被赋予特殊含义的单词2. 标识符:用于标识数据表达式的符号。通常可以理解为在程序中自定义的名称。3. 注释:/ /* */4. 变量:用于标识内存中一片空间。用于存储数据,该空间中的数据是可以变化的。什么时候使用变量:当数据不确定的时候。5. 运算符。6. 语句。用于对程序的运行流程进行控制的表达式。7. 函数。用于对功能代码进行封装,便于提供复用性8. 数组。对数据进行存储,容器。9. 对象。只要是基于对象的语言或者是面向对象的语言,就存在对象的概念。对象就是一个封装体,既可以封装数据,又可以封装函数。这些都是高级程序设计语言具备的共性内容,只不过各种语言对这些内容的表现形式有

4、所不同,但是基本思想是一致的。31-04JS是非严谨的语言,但是开发时建议按照严谨的方式来定义。JS语法-变量:使用到关键字:var定义变量:JS是弱类型的。分号有时候可以不写,var x=3 ; / var可以不写。x=”abc”;重新赋值为字符串。JavaScript中” 和 都代表字符串。alert(“x=”+x);/这是一个函数,将具体的参数通过对话框进行显示。31-05、31-06JS语法-运算符:1. 算数运算符:+ - * / % + -“12”+1 -121 “12”-1-11alert(true+1);-2 /在js中,false就是0,或者null;非0非null,就是tr

5、ue,默认用1表示。2. 赋值运算符 = += -= *= %=3. 比较运算符 = !=4. 逻辑运算符:用来连接两个boolean型表达式 & | !| &只能作为位运算符,逻辑运算符一般不用。只会返回01-1值,不会返回boolean。5. 位运算符:& | 6. 三元运算符 ? : 30 ? alert(“yes”) : alert(“no”) ;alert( 30 ? 100:200 );31-07JavaScript语法小细节:1 undefined:未定义,其实它就是一个常量。var x ; alert(xx); - undefinedvar x ; alert(xx= unde

6、fined ); -true想要获取具体的值的类型。可以通过typeof来完成。alert(typeof(“abc”);-string alert(typeof(“abc” )= string);- true 可以用来判断类型。31-08语句:1. 顺序结构。2. 判断结构。代表语句:ifvar x=3; if(x=4) alert(“yes”); else alert( “no”); /-true 。大于0即为true。可以进行判断,所以返回true。解决方案:判断时,建议将常量放在左边,以报错来修正代码。var x=3; if(4=x) alert(“yes”); else alert(

7、“no”); /如果写成4=x,则会报错。3. 选择结构4. 循环结构5. 其他语句31-09选择结构:switch语句31-10循环结构:var x=1 ;document.write(“”);while(x3) document.write(“x=”+x”); /将数据直接写到当前页面中,不弹出窗口。换行x+; document.write(“);for:31-11其他语句:break:跳出选择结构,跳出循环continue:用于循环语句,结束本次循环,继续下次循环。31-12九九乘法表:31-13数组:object类型特点:1.长度是可变的;2.元素的类型是任意的(建议使用数组时存储同一

8、类型的元素,操作起来较为方便)JS中的数组定义的两种方式:1. var arr = ; var arr =1,2,3;2. 使用了JavaScript中的Array对象来完成的定义。var arr = new Array() ;/-var arr= ;var arr1= new Array(5);/数组定义的长度是5.var arr1= new Array(5,6,7);/定义一个数组,元素是5,6,7。for(var x= 0 ,x4:5var sum1 = add(); alert(sum1) ; -undefined:undefinedvar sum = add(4,5,6,7,8);

9、31-15函数的一些细节:不存在重载形式:建议函数中定义几个参数就传递几个实参。1.只要使用函数的名称就是对这个函数的调用。2.函数中有一个数组在对传入的参数进行存储,这个数组就是arguments。31-16函数的一些细节2:add()函数被封装成了对象。JavaScript中都是对象。var sum = add() ;/调用add函数。add函数运行,并将返回的结果赋给sumvar sum = add ; /add本身是一个函数名,而函数本身在js中就是一个对象。sum指向了这个函数的引用,将add这个引用的地址值赋给了sum,这是sum也指向了这个对象。相当于这个函数对象有两个函数名称。

10、将函数对象变成字符串进行打印。alert(sum);31-17js函数的其他表现形式:动态函数:使用的是js中内置的一个对象Function。是new了一个对象,里面的东西可以变。没有明确变量和函数体。var add = new Function(“x,y” , “var sum; sum=x+y; return sum”)参数列表,函数体都是通过字符串动态指定的。31-18匿名函数:没有名字的函数。var add=function(a,b) return a+b ; 调用:alert(add(7,8) ) ;31-19、31-20函数练习:day 3232-01JS变量:在script中定义

11、的变量,在script中都有效,甚至在整个页面都有效,如在for循环中定义的变量,for循环外面也可以用。在脚本片段中定义的变量,是全局变量。局部变量:在函数里面定义的变量只在函数中有效。32-02JScript帮助文档。Object对象:toString valueOf 32-03Stirng对象:var str = new Stirng(“abcde”);var str = “abcde”;属性:length方法:bold() :字体加粗 fontcolor(“red”) :字体颜色link(“http:”):超链接println(str.substring(1,3)

12、-bc 从1到3,留头不留尾println(str.substr (1,3)-bcd 从1开始,取三个字符32-04Stirng自定义功能:去除字符串两端的空格:function trim(str) 32-05 *String的prototype属性:字符串的原型属性问:可不可以将自定义的方法trim添加到字符串对象中,可以直接用字符串对象调用。原型:该对象的原有描述。如果描述中添加了新功能,那么该对象都会具备这些功能。可以对已有的对象进行功能的扩展。prototype就可以获取到这个原型对象,通过prototype就可以实现对象的功能扩展。给对象添加新功能:对象.新内容 ,如Stirng.p

13、rototype.len=199; /添加属性给String的原型中添加一个trim功能:Stotype.trim = trim ; / trim:已经定义好的trim方法Stotype.trim = function() /匿名类alert(“ ab c ”.trim() ); /调用新功能32-06JavaScript中,函数里面可以定义函数(相当于java中的内部类)。32-07Array对象:var arr = “ha”,”abc” ;var arr2= “qq”,”ee”,32;concat()方法:返回一个新数组。连接,合并。/在arr数组上连接

14、一个元素”mm”,再连接一个arr2数组。将数组中的元素合并。println(arr.concat(“mm”,arr2);-ha,abc,mm,qq,ee,32join(separator)方法:将数组变成字符串。返回一个字符串。参数是字符串直接的连接符号,不写默认逗号。pop():移除数组中的最后一个元素,并返回该元素。相当于List中的removeLast()。push(param):参数可以是数组,将数组添加进去,而不是数组中的元素,可以实现二维数组。reverse():反转shift():移除数组中的第一个元素,并返回该元素。slice(arr,start,end):截取数组中的一段。

15、不包含尾。arr.sort():排序arr.splice():返回被删除的元素。删除并替换。arr.splice(1,3,8080,95,”haha”,”he”) :从角标1开始删,删除三个,再将后面的元素从删除的位置加入到数组中。arr.unshift(“uuu”):将指定的元素插入到该数组并返回数组。相当于addFirst32-08练习:堆栈和队列结构32-09Array自定义功能:prototypeAtotype.toString=function() /重新定义数组的toString方法,相当于java中的复写。32-10Date对象:日期var date = new

16、Date();println(date); /打印当前时间。toLocaleString():返回本地区域时间和日期println(date. toLocaleString();/日期和时间println(date. toLocaleDateString();/日期var year = date.getFullYear();var month = date.getMonth()+1; 0-11月var day = date.getDate();/返回月中的天var week = date.getDay();/返回星期中的天。0-6日期对象和毫秒值之间的转换:var time = date.ge

17、tTime();将毫秒值转成日期对象:1. var date2 = new Date(time) ;parse:静态方法日期转成字符串:toLocaleString() toLocaleDateString()字符串转成日期对象:具备指定格式的的日期字符串-毫秒值-日期对象var strDate = “9/23/2017” ;var time2 = Date.parse(strDate) ;var date3 = new Date(time2) ;println(date. toLocaleDateString();32-11JavaScript特有语句:with简化对象调用书写的内容。wit

18、h(对象)在该区域中可以直接使用指定的对象的内容,不需要写 对象.32-12Math对象:该对象中的方法都是静态的,不需要new,直接调用即可。Math.ceil(12.34):13Math.floor(12.34):12Math.round(12.34):13 /四舍五入Math.pow(10,2) ;-10的2次方var num = Math.floor(Math.random()*10+1 ); /伪随机数。1-10var num = parseInt(Math.random()*10+1 );Global对象:全局对象,集中了所有的全局方法。JavaScript一启动,就加载了。par

19、seInt:全局方法32-13Global的全局方法:NaN:非法值 isNaN:结果是否非法parseInt() :println( parseInt(“123”+1) ) -124println( parseInt(“abc”) ) -NaNprintln( parseInt(“12ab”) ) -12 /为了避免出问题,转之前先用正则判断字符串里是否全是数字。将指定进制格式的字符串转成10进制:println( parseInt(“110”,2) ) -110为2进制数,将其转为10进制。将10进制转成其他进制:使用数字对象完成:Numbervar num = new Number(60

20、); /或者 var num = 60 ;也会被封装成对象println(num.toStirng(16);/将60进制转成16进制。32-14JavaScript中的特有语句:for in格式:for( 变量 in 对象 ) /对对象进行遍历的语句var arr = 12,33,67;for( i in arr ) println(i); /遍历的是角标0,1,2for( i in arr ) println( i ) ; /遍历元素。32-15JS自定义对象:如果想要自定义对象,应该先对对象进行描述。JS是基于对象,不是面向对象的,不具备描述事物的能力。我们还想按照面向对象的思想编写js

21、, 就要先描述,在JS中,可以用函数来模拟面向对象中对对象的描述。定义方式1:function Person() /相当于构造器.var p = new Person();动态给p对象添加属性,直接使用p. 属性名即可。=”zhangsan;p.age=29;/如果定义的p对象的属性赋值为一个函数,即是给p对象添加一个方法。p.show=function() alert(“show run”++this.age) ; p.show();var obj = new Object(); =”god” ;定义方式2:function Person(name ,age) = name ;this,age = age ;this.setName = function(name) = name ;var p = new Person

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论