黑马程序员_javascript
2013-06-15 11:07
239 查看
JavaScript概述
JavaScript是基于对象和时间的脚步语言.主要应用在客户端.
特点:
1.交互性(他可以做的就是信息的动态交互)
2.安全性(不允许直接访问本地硬盘)
3.跨平台性(只要是可以解释JS的浏览器都可以执行.和平台无关)
-------------------------------------------
JavaScripet与java的不同
1.JS是Netscape公司的产品,前身是LiveScript;java是sun公司;现在是Oracle公司的产品
2.js是基于对象,java是面向对象.
3.js只需要解释就可以执行.java需要先编译成字节码,在执行.
4.js是弱类型.java是强类型.
-----------------------------------------------
JavaScript与Html的结合方式
想要将其他代码融入到html中,都是以标签的形式.
1.js代码存放到标签对<script>....</script>.
2.使用script标签的src属性引入一个js文件.(方便与以后维护和扩展)
列:<scritp src="text.js" type="javascript"></script>
注意:规范中script标签中必须假如type属性.
-------------------------------------------------
javascript的语法
每一种语言都有自己的语法规则,js的语法与java很像.所以学习起来比较容易,js中也一样
有变量语句,函数.数组等常见语言组成的元素.
1. 变量
通过关键字var来定义,弱类型就可以不用指定具体的数据类型.
示例: var x = 3; x="hello";
注意:js中特殊的常量值:undefined,当变量没有初始化就被使用,该变量的值就是undefined(未定义)
---------------------------------------------------
语句(与java语句格式相同)
判断结构(if)
注: var x=4;
if(x==4)
if(x=4)
示例:
选择结构(switch)语句
循环结构(while语句 , do while语句, for语句)
示例:
注:不同的是.没有了具体数据类型的限制,使用时要注意.
练习:
打印一个99乘法表.用表格形式
----------------------------------------------
javascript数组
方便与操作多元素的容器.可以对其中的元素进行编号
特点:可以存任意元素,长度是可变的.
格式:
---------------------------------------------
javascript函数
1.一般函数
格式
function 函数名字(形式参数...)
{
执行的语句
返回值
}
函数时多条执行语句的封装体.只有被调用才会被执行.
注意:调用有参数的函数,但是没有给期传值.韩式一样可以运行,或者调用没有参数的函数,
给其他传值,该韩式也一样运行,是有货的简单点:只要写了韩式名后面跟了一对小括号,
该韩式就会运行,那么传递的参数呢?
其实,在函数中有一个擦哪壶数组对象(arguments),该对象将传递的参数都封装在一个数组中
示例:
2.动态函数
通过js\的内置对象function实现
示例:
不同的是,动态函数,参数已经函数体都可以通过参数进行传递,可以动态指定/.
3.匿名函数
------------------------------------------------------------
JavaScript 中的对象.
示例1:
示例2:
示例3:
要运行的html
定义的person.js对象
示例4:
js
------------------------------------------------
javascript 中的原型
原型是什么.简单一句话就是让一个对象本身具备了一些处理数据的方法
比如数组.的获取最大值最小值.原型的关键字是prototype
示例:
让数组的原型具备可以获取最小值的方法.
示例:
通过原型可以让对象之间产生父类关系.好比java中的继承.
用子类也可以覆盖父类的参数.
-----------------------------------------------------------------------------------
javascript中的for in方法 和with语句
可以获取对象中的属性.也可以获取数组中的元素.
获取属性示例:
获取数组的元素示例:
with语句示例:
JavaScript是基于对象和时间的脚步语言.主要应用在客户端.
特点:
1.交互性(他可以做的就是信息的动态交互)
2.安全性(不允许直接访问本地硬盘)
3.跨平台性(只要是可以解释JS的浏览器都可以执行.和平台无关)
-------------------------------------------
JavaScripet与java的不同
1.JS是Netscape公司的产品,前身是LiveScript;java是sun公司;现在是Oracle公司的产品
2.js是基于对象,java是面向对象.
3.js只需要解释就可以执行.java需要先编译成字节码,在执行.
4.js是弱类型.java是强类型.
-----------------------------------------------
JavaScript与Html的结合方式
想要将其他代码融入到html中,都是以标签的形式.
1.js代码存放到标签对<script>....</script>.
2.使用script标签的src属性引入一个js文件.(方便与以后维护和扩展)
列:<scritp src="text.js" type="javascript"></script>
注意:规范中script标签中必须假如type属性.
-------------------------------------------------
javascript的语法
每一种语言都有自己的语法规则,js的语法与java很像.所以学习起来比较容易,js中也一样
有变量语句,函数.数组等常见语言组成的元素.
1. 变量
通过关键字var来定义,弱类型就可以不用指定具体的数据类型.
示例: var x = 3; x="hello";
注意:js中特殊的常量值:undefined,当变量没有初始化就被使用,该变量的值就是undefined(未定义)
---------------------------------------------------
语句(与java语句格式相同)
判断结构(if)
注: var x=4;
if(x==4)
if(x=4)
示例:
var x = 3; if(3=x) alert("yes"); else alert("no")
选择结构(switch)语句
循环结构(while语句 , do while语句, for语句)
示例:
while(x<3){ alert("x="+x); x++; }
注:不同的是.没有了具体数据类型的限制,使用时要注意.
练习:
打印一个99乘法表.用表格形式
table{ <!--让内线和外线重合--> border-collapse:collapse; <!--设置框的长度--> width:600px; } table th{ <!--设置内框的颜色和宽度 还有可见度--> border:#FF0000 1px solid; } </style> </head> <body> !<--打印一个99乘法表--> <script type="text/jscript"> <!--document相当于打印语句--> document.write("<table>") for(var x= 1 ; x<=9; x++){ document.write("<tr>"); for(var y= 1 ; y<=x ; y++){ document.write("<th>"+y+"*"+x+"="+x*y+"</th>") } document.write("</tr>") } document.write("</table>");
----------------------------------------------
javascript数组
方便与操作多元素的容器.可以对其中的元素进行编号
特点:可以存任意元素,长度是可变的.
格式:
var arr = new Array(); arr[0] = "hello"; arr[1] = 123; var arr =['hello',123,true,"abc"]
---------------------------------------------
javascript函数
1.一般函数
格式
function 函数名字(形式参数...)
{
执行的语句
返回值
}
函数时多条执行语句的封装体.只有被调用才会被执行.
注意:调用有参数的函数,但是没有给期传值.韩式一样可以运行,或者调用没有参数的函数,
给其他传值,该韩式也一样运行,是有货的简单点:只要写了韩式名后面跟了一对小括号,
该韩式就会运行,那么传递的参数呢?
其实,在函数中有一个擦哪壶数组对象(arguments),该对象将传递的参数都封装在一个数组中
示例:
function demo()//定义函数 { alert(argument.length); } demo("hello",123,true)//调用函数. 为了增强阅读性,最好按照规范,按定义好的形式参数传递实际参数. 韩式在调用时的其他写法: var show = demo();//show变量接收demo函数的返回值. var show = demo;//这种写法也是可以的.以为show和demo代表同一个函数. //那么该函数也可以通过show()的方式运行.
2.动态函数
通过js\的内置对象function实现
示例:
var demo = new function("x,y;alert(x+y);"); demo(3,6); 如同: function demo(x,y) { alert(x+y); } demo(4,6);
不同的是,动态函数,参数已经函数体都可以通过参数进行传递,可以动态指定/.
3.匿名函数
格式:function(){....} 示例: var demo = function(){...} demio(); 通常在定义时间属性的行为时比较常用. 例如: function test() { alert("load ok"); } window.onload = test; 可以写成匿名函数的形式: window.online = function() { alert("load ok") }
------------------------------------------------------------
JavaScript 中的对象.
示例1:
function Pershon() { alert("load run") } var p = new Pershon(); p.name = "zhangsan"; p.age = 20; p.chifan = function() { alert("吃饭"); } p.chifan();
示例2:
function Person(nhame,age) { this.name = name; this.age = age; } var p = new Person("孙百鑫",21); alert(p.name+"..."p.age); //第二种方式调用 alert(p.["name"]+"...."+p.age);
示例3:
要运行的html
<script type="text/jscript" src="Person.js"></script> <script type="text/jscript"> alert(p.name+":"+p.age); p.chifan(); alert(p.getName());
定义的person.js对象
// JavaScript Document function Person(name,age) { this.name =name; this.age = age; } var p = new Person("lisi",20); p.chifan = function() { alert("chifan"); } p.getName = function() { return p.name; }
示例4:
//需要导入定义好的对象 <script type="text/javascript" src="Arraytool.js"></script> var arr = [3,6,4,9,7,10]; //将数组传入到定义好的方法中 var a = ArrayTool.getMax(arr); //返回最大值 alert("max="+a);
js
// JavaScript Document function ArrayTool(){};//这个相当于定义一个类 var Arraytool = new ArrayTool();//这个相当于实例化那个类 ArrayTool.getMax =function(arr)//也可以定义内部类 { var max = arr[0]; for(var x = 1 ; x<arr.length; x++) { if(max<arr[x]) max = arr[x]; } return max; } ArrayTool.getMax =getMax;//让定义的对象和方法产生关系 function getMax(arr) { var max = arr[0]; for(var x = 1 ; x<arr.length; x++) { if(max<arr[x]) max = arr[x]; } return max; }
------------------------------------------------
javascript 中的原型
原型是什么.简单一句话就是让一个对象本身具备了一些处理数据的方法
比如数组.的获取最大值最小值.原型的关键字是prototype
示例:
让数组的原型具备可以获取最小值的方法.
<script type="text/jscript" src="arrayutil.js"></script>//导入js文件 <script type="text/jscript"> var arr = [5,4,6,7,9,13]; alert("min="+arr.getMin()); </script> //js中的代码 Array.prototype.getMin = function() { var min = this[0]; for(var x = 1; x<this.length; x++) { if(min>this[x]) min = this[x]; } return min; }
示例:
通过原型可以让对象之间产生父类关系.好比java中的继承.
<script type="text/jscript" > function Person(name){//创建人的对象,相当于私有化一样 this.name = name; } Person.prototype.setName = function(name){//让人的原型就具备set方法类设置学生的名字. this.name = name; } Person.prototype.getName = function(){//让人的原型具备get方法设置学生的名字. return this.name; } var p = new Person("zhangsna");//创建父类对象 function Student(){};//建立学生类 Student.prototype = p;//让学生类的原型是Person.这样就相当于继承了.主要就是这句话.让两个对象之间有了关系. var s = new Student();//创建学生对象. s.setName("lisi");//就可以使用继承过来的setName方法来进行设置了 alert(s.getName());//显示在窗口上. </script>
用子类也可以覆盖父类的参数.
<script type="text/jscript" > function Animal(name){ this.name = name; } Animal.prototype.setName = function(){ this.name = name; } Animal.prototype.getName = function(){ return this.name; } Animal.prototype.eat = function(){ alert("吃东西"); } var animal = new Animal("动物"); function Cat(){}; Cat.prototype = animal; Cat.prototype.eat = function()//相当于覆盖了父类的吃的方法 { alert("吃鱼"); } var cat = new Cat(); cat.eat();//调用吃的方法
-----------------------------------------------------------------------------------
javascript中的for in方法 和with语句
可以获取对象中的属性.也可以获取数组中的元素.
获取属性示例:
function Person(){ this.name = "张三"; this.get = 26; this.getName = function(){ alert(name+"...."+age); } } var p = new Person(); //alert(p["name"]); for(x in p){ alert(x+":"+p[x]); }
获取数组的元素示例:
var arr=[3,6,4,8,6]; for(x in arr) { alert(arr[x]); }
with语句示例:
with(对象) { 可以直径使用该对象的功能. } 去定了该对象作用的范围,在繁重内,可以直接使用该对象的方法 var date = new Date(); with(date){ alert(getYear()+"年"+(getMonth()+1)+"月"+getDate()+"日"); } with(Math) { alert((random())) }
相关文章推荐
- 黑马程序员-javascript基础知识
- 黑马程序员 javaScript
- 黑马程序员_毕向东_JavaScript视频教程--学习笔记
- 黑马程序员_学习记录20:HTML,JavaScript,CSS小结
- 黑马程序员 — JavaScript
- 黑马程序员 JavaScript
- 黑马程序员_毕向东_JavaScript视频教程(3)
- 黑马程序员--JavaScript
- 黑马程序员--第七季Javascript笔记
- 黑马程序员_Javascript类型转换
- 黑马程序员之javascript学习笔记:什么是强类型,什么是弱类型?哪种更好些?为什么?
- 黑马程序员-学习日志-javascript
- 黑马程序员_javascript学习
- 黑马程序员Android第55期——javaScript基础&DOM
- 黑马程序员_JavaScript学习小结
- 黑马程序员之java,javase,JavaScript,javaee,javaweb的区别。
- 黑马程序员——javascript面向对象的理解
- 黑马程序员_javascript学习
- 黑马程序员------javascript一些简单的语法
- 黑马程序员——Javascript