1.JavaScript语句可以放在程序任何地方,一般放在head之间,
<script language=”javascript” type=”text/javascript”>
document.write(“Hello World”);
</script>
2. 使用src属性
<script language=”javascript” type=”text/javascript” src=”1.js”>
</script>
在文本中输入document.write(“Hello World”);保存为1.js
(2的结果和1的相同)
3.伪url属性
<form name=”form1”>
<input type=”text” name=”text” value=”点击”
onClick=”javascript:alert(‘已点文本框’)”>
</form>
4. <script language=”javascript” type=”text/javascript”>
function ClickMe(){
alert(‘已点文本框’);
</script>
<form name=”form1”>
<input type=”text” name=”text” value=”点击”
onClick=”ClickMe()”>
</form>
(4的效果和3相同)
5.JavaScript脚本程序对大小写敏感。每行语句结束时可以不要分号,但多条语句
作为一行时必须要有分号。变量标识符为var(基本上数据类型都可以用var来标识)
。
6.<body onload=”add(num)”>,代码载入时,执行在JavaScript中定义的
function add(num).
7. function Test(){
var msg+=”引用语句”;
msg+=”返回结果”;//默认数据类型
alert(msg);
window.close();//询问是否关闭,直接调用此语句
}
8.typeof运算符返回变量的数据类型。
9.var year=window.prompt(“请输入你的年龄”,25);
执行此语句会出现一个对话框,默认的是25,你可以输入你自己的年龄。
10.在脚本代码中适当使用with语句可使代码简明易懂,避免不必要的重复输入。
若代码中涉及到多个对象,不推荐使用with语句,避免造成属性或方法引用的混乱
。
document.write(“1”);
document.write(“2”);
document.write(“3”);
document.write(“4”);
以上代码可简化为:
with(document){
write(“1”);
write(“2”);
write(“3”);
write(“4”);
}
11.for...in循环语句可以对指定对象的属性和方法进行遍历。
for(变量名 in 对象名){
语句体;
}
12.尽量检测界面输入时的错误
function muti(x,y){
if((typeof(x)!=”number”) || (typeof(y)!=”number”)){
return errorNum;
}
else{
return (x*y);
}
return;
}
13.通过name和通过id访问文档对象的方法:
document.form1.text.value;
document.getElementById(“id”);
14.警告框用alert()方法;确认框用confirm()方法;提示框用prompt()方法。
15.编写JavaScript是要大小写严格限制。冒号不要省略。
注释: // /* */
标识符:字母,数字,'_',$。第一个字符不能使数字。
16.JavaScript中的Boolean值很容易转换,和Java中的有些不同的。非空对象,数
组或者函数等,TRUE就转换为数字1,
0或者NaN,null,为定义的值,空字符串,转化为FALSE。
17.JavaScript中的函数是真正的数值,意味着可以存储在变量,数组和对象中。
18.两种定义函数的方法:function square(x){return x*x;} || var
squery=function(x){return x*x ;}
这种方式用的很少,效率低:var squery =new function("x","return x*x;");
19.JavaScript中的对象可以最为关联数组使用。image.width 和用法一样 image
["width"]
20.对象直接量:var rectangle = { upperleft:{x: 2, y:2 },lowerRight:{x: 4,
y:4}};
21.数组:var a= new Array(); a[0]=1.2;a[1]={s:1,y:2}; ==>var a = new
Array(1.2,{s:1,y:2});
数组直接量:var a=[1.2,{s:1,y:2}]; var spareArray =[1,,,,5];其中有三个
为定义
22.in 运算符:要求左边的运算符是一个字符串,或者可以转换为字符串。又边是
一个对象或者
数组,如果该运算符左边的值是其右边对象的一个属性名,则返回TRUE。
var point ={x:1,y:2}; var has_x_coord= "x" in point; var ts ="toString"
in point;
23.instanceof运算符。左边是一个对象,右边是对象类的名字,返回为TRUE
如果左边不是对象,或者右边的运算符是一个对象,而不是一个构造函数,返回
FALSE
24.typeof运算符:是一元运算符,放在一个运算符之前,这个运算符可以使任意类
型的,返回一个
字符串。数字---number || 字符串---string || 布尔值---Boolean
对象,数组,null --- object || 为定义---undefined
25.with语句:用于暂时修改作用域 with(Object) statement
如果要多次访问fram[1].document.forms[0]这个表单,可以使用with语句将这个表
单添加到作用域链中:
with(frames[1].document.forms[0]){
name.value="";
address.value="";
}//这种方式不建议使用。这种方式可以用下面的语句代替
var form = frames[1].document.forms[0];
form.name.value="";
form.address.value="";
26.for..in..语句 遍历一个对象的属性。
27.通用的Object对象属性和方法:
constructor属性:var d = new Date(); ==> d.constructor == Date
//TRUE
if(typeof o == "object" && o.constructor ==Date) ==> if(typeof
o=="object" && o.instanceof Date)
toString 和toLocaleString方法
valueOf()方法 把一个对象转换为某种基本类型的数据类型,也就是一个数字而不
是一个字符串的时候才调用的方法
hasOwnProperty()方法 //如果对象用一个单独的字符串参数所指定的名字来本地定
义一个非继承的属性
var o={};
o.hasOwnProperty("toString"); //false,toString is an inherited property
o.hasOwnProperty("undef"); //false
Math.hasOwnProperty("cos");//true,Math has a cos property
propertyIsEnumerable()方法 //对象用一个单独的字符串参数所指定的名字来本地
定义一个非继承的属性
var o= { x:1 };
o.propertyIsEnumerable("x");//true
o.propertyIsEnumerable("y");//false
isPrototypeOf()方法 //这个方法所属的对象是参数的原型对像返回TRUE。else
false
var o={ x:1};
o.prototype.isPrototypeOf(o); //true
Object.isPrototypeOf(o); //false
o.isPrototypeOf(Object.prototype);//false
Function.prototype.isPrototypeOf(Object) //true
28.JavaScript数组
Javascript是基于prototype的面向对象语言,没有类的概念,所有的一切是现有对
象的副本
JavaScript对象:
function对象,alert();作为函数,可以用参数进行调用
作为构造函数的function,必须通过new关键字来实例化
var myFunction = new Function(",");//不推荐使用,影响性能,注意这是F大写
function myFunction(){}//推荐
Object对象,无法将像function类对象那样调用,而且具有固定的功能。
var obj = new Object();也可以简单的写为 var obj = {};创建简单的对象
obj("Error");//出错了,没有产生构造函数
Array对象,是一种特殊的属性和方法的集合 var array = new Array();<==>var
array = [];
String,Boolean,Number,Math,Date,RegExp对象
Javascript中的继承:与传统的面向对象不同,在JS中的继承是通过简单的从一个
对象原型向
另外一个对象原型复制而实现的
var person ={};//定义person对象
person.getName=function(){//为person对象构造了方法
alert("person name");
}
var student = {};
student.getName=person.getName;//继承了person的方法
person.getName=function(){
alert("person1 name");
}
student.getName(); //person name
person.getName(); //person1 name
Javascript对象是什么?
数组的两种的实现方案,顺序数组、散列数组(key,value)
对象==关联数组==属性包==存储体
对象只有成员访问这一个操作
JavaScript原型、对象
原型只存在于function中,它实质上是一个对象被创建后引擎自动创建一个空的
prototype对象
由于对象是属性包所以原型就是一个属性包
原型中读的时候从原型链上读,写的时候往自己里面写
构造自己的构造函数:
function myConstructor(a){//.....} <==> var myConstructor=new Function
('a',"/*某些代码*/");
var myObject = new myConstructor();//实例化后会执行代码
例如:function myConstructor(message){ this.myMessage = message ;}
var obj = new myConstructor();//这样obj中也包含了myMessage这个属性
如果加入参数var obj = new myConstructor("hello word");//这样myMessage这个
属性的值为hello word
如果这样会出错的:
var myObject = new Object();
var obj = new myObject();//出错了!!因为myObject不是构造函数
能够的使实例化的对象包含的方法称为公有方法,需要修改函数的原型。
当修改一个对象的原型时,任何继承该对象的对象和已经存在的所有实例立即继承
同样的变化。根据用法的不同这一特性
功能既强大也会导致问题。因此当你修改自己的当不是你的原型时候要特别小心
例如://添加公有的属性:
function myConstructor(message){ this.myMessage = message ;}
//添加公有的方法:
myConstructor.prototype.clearMessage=function(string){
this.myMessage+=' '+string;
}
var myObject = new myConstructor("hello word");
myObject.clearMessage("12");//但是不能直接在myConstructor上调用这个方法
添加静态属性和方法:
--|在prototype下添加的属性和方法。能够被继承下来的。上面已经介绍过
--| //secondObject既是一个实例也是一个构造函数
var secondObject = function(){
}
secondObject.name='hj';//添加新的静态成员属性name
secondObject.alertName=function(){//添加新的静态成员方法
alert(this.name);
}
secondObject.alertName();
//静态成员name和alertName成员不能用到新的实例中
var obj= new secondObject();//出错了,obj不是一个function
obj.alertName();
添加私有的方法和属性(以及特权方法):
私有成员就是在构造函数中定义的变量和函数,例如:
function myConstructor(message){
this.myMessage = message ;
var myOwner=this;//私有属性
var separator='_'//私有属性
function alertMessage(){ alert(myOwner.message);}//私有方法
alertMessage();//实例化是显示信息
..........
//特权方法:
特权方法,与私有方法不同的是,特权方法能够公开访问,而且还能访问私有
成员。特权方法是指在构造函数的作用域中是用This关键字定义的 方法
this.appendToMessage=function(string){
this.myMessage+=separator+string;
alertMessage();
}
}
公有,私有,特权,静态的总结:
私有和特权成员在函数的内部,他们会被带到函数的每一个实例中,因而占用大量
的内存
公有的原型成员是对象蓝图的一部分,适用于用new关键字实例化该对象的一个实例
,它是能够被继承的
静态成员只适用于对象的一个特殊的实例
分享到:
相关推荐
本篇内容将围绕"JavaScript总结导图"展开,深入探讨JavaScript的基础知识、核心概念以及高级特性。 1. **基础语法** JavaScript的基础包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、...
### JavaScript总结笔记 #### JavaScript简介 JavaScript是一种广泛使用的、基于对象和事件驱动的脚本语言。它最初由网景公司(Netscape)的布兰登·艾奇于1995年创建,并逐渐成为现代Web开发的核心技术之一。...
在“javascript总结”这个主题中,我们将深入探讨JavaScript的基础知识,以及它如何与HTML标签相互作用来增强用户体验。 首先,让我们从HTML标签开始。HTML(超文本标记语言)是网页内容的结构框架,而JavaScript则...
这篇经典的JavaScript总结实例将深入探讨DOM对象的操作和XML文档解析,这两部分是JavaScript在网页开发中不可或缺的部分。 首先,DOM(Document Object Model)是HTML和XML文档的结构化表示,它将网页内容转化为可...
JavaScript总结,很适合学习基础的东西。上传的是图片格式是,方便大家打开。仅仅一张图,让你了解javascript。
javascript总结.xmind
在这个"前端JavaScript总结"中,我们将深入探讨JavaScript的基本概念、语法特性、核心功能以及在实际开发中的应用。 首先,JavaScript是一种解释型的、弱类型的脚本语言,它基于ECMAScript规范,并在Web浏览器中...
在本“JavaScript总结图”中,我们可以期待找到一系列的图表,这些图表将帮助我们更好地理解和记忆JavaScript的核心概念、语法结构以及常用功能。 1. **基础语法** - 变量声明:JavaScript支持var、let和const三种...
自己弄得一个总结文档方便初学者快速学习 csdn真恶心
JavaScript 课程内容总结 JavaScript 是一种广泛应用于网页开发的编程语言,以下是 JavaScript 的基础知识点总结。 数据类型 在 JavaScript 中,数据类型包括字符串(string)、数值型(number)、布尔型...
个人Javascript学习笔记 精华版 本资源为个人Javascript学习笔记的精华版,涵盖了Javascript的基础知识、事件处理、对象和系统函数、浏览器对象等方面的内容。下面是对每个知识点的详细说明: 1. 什么是JavaScript...
JavaScript,一种广泛应用于Web开发的脚本语言,是前端开发的核心技术之一。它主要负责网页的动态效果、用户交互以及数据..."JavaScript总结笔记"可能包含了这些内容的详细讲解,建议深入学习以提升JavaScript技能。
JavaScript 基础教程 JavaScript 是一种广泛应用于网页和网络应用的轻量级编程语言,它主要用于增强网页的交互性和动态功能。JavaScript 能够直接嵌入 HTML 页面中,为设计师提供了一种无需深入编程就能实现动态...
本文将围绕“JavaScript学习总结”这一主题,深入探讨其基本概念、语法特性、DOM操作以及与CSS的协同使用。 一、JavaScript基础 JavaScript由Brendan Eich在1995年发明,最初是为了网页交互而设计,现在已经成为...