`
eric.zhang
  • 浏览: 127842 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

javascript基础知识小结

    博客分类:
  • ajax
阅读更多
javascript基础知识

undefind:表示不确定的类型,只是定义了一个变量,但具体什么类型并不知道,也就是var j; 只定义但并没有赋值

Javascript类型转换
转换为Number 通过parseInt进行转换
转换为String 任何数据类型+String类型=String 类型
转换为Boolean ture false 所有非0数字为true,反之为false.
Undefined,null转换为false

如:
if(undefined||null){
	alert("haha");
}else{
	//会走这里
	alert("nohaha");
}
if(2){//会走这里
	alert("haha");
}else{
	alert("nohaha");
}


数据传递:
基本类型为:值传递
  function addNum(i){
    	i = i + 5;
  }
  function test(){
	var i = 0;
	addNum(i);
	alert(i);//打印出来的值为0
  }


函数和事件通常是一种绑定关系,通过事件调用函数。如果绑定多个函数,中间用分号隔开

<marquee onmouseover="this.stop()" onmouseout="this.start()">跑马灯效果,欢迎大家学习!</marquee>




选择之后直接新打开一个页面:
function goToUrl(){
	var s = document.getElementById("toUrl");
	if(s.options[s.selectedIndex].value != -1){
		//window.location.href="http://www." + s.options[s.selectedIndex].value + ".com";
		window.open("http://www." + s.options[s.selectedIndex].value + ".com","_blank");
	}
}

<select onchange="goToUrl();" id="toUrl">
	<option value="-1">请选择要去的网站</option>
	<option value="sina">新浪网</option>
	<option value="baidu">百度</option>
</select>


***************************************************
这段代码是屏闭鼠标右键功能及复制功能
<body onmouseup="document.selection.empty();" oncontextmenu="return false;" 
  onmousemove="document.selection.empty(); onCopy="document.selection.empty();"
   onselect="document.selection.empty();">
################################################################
动态添加事件:
<script type="text/javascript">
		function mt1(){
			alert("1");
		}
		function mt2(){
			alert("2");
		}
		function mt3(){
			alert("3");
		}
		function init(){
			var btn1 = document.getElementById("button1");
			if(window.ActiveXObject){
				//这是IE浏览器,需要写全 onclick,也不需要false
				btn1.attachEvent("onclick",mt1);
			}else{//这是firefox浏览器
				btn1.addEventListener("click",mt1,false);
			}
			
			//btn1.addEventListener("click",mt2,false);
			//btn1.addEventListener("click",mt3,false);
		}
	</script>
  </head>
  
  <body onload="init();">
  	<input type="button" value="button1" id="button1"/>
  </body>

########################################################################
全选
隐藏,显示层
折叠菜单效果
###################################################################
<script language="javascript">
	function selectAll(){
		var al = document.getElementById("all");
		/*全选功能
		if(al.checked == true){
			var cbs = document.getElementsByName("cb");
			for(var i = 0; i < cbs.length; i++){
				cbs[i].checked = true;
			}
		}else{
			var cbs = document.getElementsByName("cb");
			for(var i = 0; i < cbs.length; i++){
				cbs[i].checked = false;
			}
		}
		*/	
		//全选功能
		var cbs = document.getElementsByName("cb");
		for(var i = 0; i < cbs.length; i++){
			cbs[i].checked = al.checked;
		}	
	}
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <p>
    全选
      <input type="checkbox" name="checkbox2" value="checkbox" id="all" onclick="selectAll();"/>
  </p>
  <p>
    <input type="checkbox" name="cb" value="checkbox" />
    <input type="checkbox" name="cb" value="checkbox" />  
    <input type="checkbox" name="cb" value="checkbox" />  
    <input type="checkbox" name="cb" value="checkbox" />  
    <input type="checkbox" name="cb" value="checkbox" />  
    <input type="checkbox" name="cb" value="checkbox" />  
    <input type="checkbox" name="cb" value="checkbox" />  
    <input type="checkbox" name="cb" value="checkbox" />  
    <input type="checkbox" name="cb" value="checkbox" />  
    <input type="checkbox" name="cb" value="checkbox" />
  </p>
</form>
</body>
</html>
####################################################################
隐藏,显示层

<title>无标题文档</title>
<style type="text/css">
<!--
#Layer1 {
	position:absolute;
	left:17px;
	top:26px;
	width:96px;
	height:215px;
	z-index:1;
	background-color: #FF6600;

}
#Layer2 {
	position:absolute;
	left:806px;
	top:16px;
	width:104px;
	height:225px;
	z-index:2;
	background-color: #FF6600;
}
#Layer3 {
	position:absolute;
	left:297px;
	top:18px;
	width:353px;
	height:31px;
	z-index:3;
}
-->
</style>
<script language="javascript">
	function hiddenAll(){
		var l1 = document.getElementById("Layer1");
		var l2 = document.getElementById("Layer2");
		l1.style.display = "none";
		l2.style.display = "none";
	}
	function showAll(){
		var l1 = document.getElementById("Layer1");
		var l2 = document.getElementById("Layer2");
		l1.style.display = "block";
		l2.style.display = "block";
	}
</script>
</head>

<body>
<div id="Layer1">
  <p>test学院</p>
  <p>Js教程</p>
  <p>火热发布中!</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>    <span onclick="hiddenAll();" style="cursor:pointer">关闭</span></p>
</div>
<div id="Layer2">
  <p>test学院</p>
  <p>Js教程</p>
  <p>火热发布中!</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>    <span onclick="hiddenAll();" style="cursor:pointer">关闭</span></p>
</div>
<div id="Layer3">
  <div align="center"><span onclick="showAll()" style="cursor:pointer">显示广告</span></div>
</div>
</body>
</html>
###############################################################

折叠菜单效果
<script language="javascript">
	function showInfo(str){
		//先隐藏所有
		for(var i = 1; i <= 3; i++){
			document.getElementById("tr"+i).style.display="none";
		}
		//显示指定对象
		document.getElementById(str).style.display="block";
	}
</script>
</head>

<body>
<table width="166" border="1">
  <tr>
    <td height="22" style="cursor:pointer;" onclick="showInfo('tr1')">Js教程</td>
  </tr>
  <tr id="tr1">
    <td height="65" valign="top"><table width="100%" border="0">
      <tr>
        <td>第一讲</td>
      </tr>
      <tr>
        <td>第二讲</td>
      </tr>
      <tr>
        <td>第三讲</td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td height="22" style="cursor:pointer;" onclick="showInfo('tr2')">css教程</td>
  </tr>
  <tr id="tr2" style="display:none;">
    <td height="65" valign="top"><table width="100%" border="0">
      <tr>
        <td>第一讲</td>
      </tr>
      <tr>
        <td>第二讲</td>
      </tr>
      <tr>
        <td>第三讲</td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td height="23" style="cursor:pointer;" onclick="showInfo('tr3')">JavaEE教程</td>
  </tr>
  <tr id="tr3" style="display:none;">
    <td height="65" valign="top"><table width="100%" border="0">
      <tr>
        <td>第一讲</td>
      </tr>
      <tr>
        <td>第二讲</td>
      </tr>
      <tr>
        <td>第三讲</td>
      </tr>
    </table></td>
  </tr>
</table>
</body>
</html>

#################################################################

js里的常用对象:字符串及日期;
function testMath(){
		//round四舍五入
		//var money = document.getElementById("money").value;;
		//alert(Math.round(money));
		//random产生随机数
		//alert(Math.floor(Math.random()*30));
		
	}
	function testDate(){
		var d = new Date();
		//alert(d.getYear());//取得后两位年份
		//alert(d.getFullYear());//得到完整年份
		//alert(d.getMonth() + 1);//月份,0-11
		//alert(d.getDate());
		//alert(d.getDay());//星期几
		//alert(d.getHours());//小时
		//alert(d.getMinutes());//分钟
		//alert(d.getSeconds());//秒
		document.getElementById("money").value = d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()+" "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
		setTimeout("testDate()",1000);
	}
	function testString(){
		//var stringname= new String("字符串");
		//var s = "字符串";
		//var em = document.getElementById("money").value;//判断电子邮件合法性
		//if(em.indexOf("@") == "-1"){
		//	alert("缺少@");
		//}
		//replace
		//while(document.getElementById("money").value.indexOf("delete") != -1){
		//d	document.getElementById("money").value=document.getElementById("money").value.replace("delete","删除");
		}
	}
##############################################################
正则表达式:
<script language="javascript">
	function check(){
		var pattern = /^[0-9]{5}[a-zA-Z]*$/;
		var v = document.getElementById("userName").value;
		var flag = pattern.test(v);
		alert(flag);
	}
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <input type="text" name="textfield" id="userName"/>
  <input type="button" name="Submit" value="按钮" onclick="check();"/>
</form>
</body>
</html>
##############################################################
javascript面向对象编程:
Javascript中类(对象)用function即函数来体现。
对象的定义与访问
定义属性,方法
1.使用prototype创建
2.使用this创建
3.JSON方式创建
4.其它方式创建:如动态创建
5.其它方式创建:在内置对象中添加属性或方法

####################################################################
使用prototype创建对象:
	//定义一个对象
	function test(){
		//定义属性
		test.prototype.username="baby";
		//定义一个方法
		test.prototype.sayHello=function(name){
			alert(name + "Hello!");
		}
		//也是定义一个方法
		test.prototype.sayHello2=sayHello_fun;
	}
	function sayHello_fun(){
		alert("Hello!");
	}
	

	function testObject(){
		//创建一个test对象
		var _o = new test();
		//调用test对象的属性
		alert(_o.username);
		//调用方法
		_o.sayHello();
		
		var _boy = new boy();
		alert(_boy.age);
		_boy.say("Bye!");
	}
	
//使用this定义一个对象 
	function boy(){
		//定义对象的属性
		this.name="小新";
		this.age=18;
		//定义方法
		this.say=function(s){
			alert(s);
		}
	}
//JSON方式创建对象 键值对方式 建议使用这种方式
	function testJson(){
		//创建一个obj的对象
		var obj = {name:"abc",age:18};
		alert(obj.age);
		
	}
	function showObj(o){
		alert(o.name);
		//alert(o["name"]);
	}
	function strToObj(){
		//定义一个字符串
		var strObject = "{name:'bcd',age:22}";
		showObj(eval("("+strObject+")"));
	}
JSON方式创建的对象可以传递,可以与字符串之间进行转换,转换后以键值对存在,eval函数,将字符串转换为对象
	function test1(){}
	function runTest1(){
		//创建一个对象,并动态的添加属性及方法
		var o = new test1();
		o.name="火狐";
		o.age=33;
		o.sayHello=function(){
			alert("haha,Hello!");
		}
		//alert(o.name);
		o.sayHello();
	}

在内置对象中添加属性或方法
	function testWindow(){
		window.alert("nihao");
		window.prototype.shuo=function(s){
			alert(s);
		}
		shuo("你好!");
	}
#####################################################
对象的继承
//定义一个 人 对象
function Person(){
	//这是定义一个静态属性
	Person.cityName="北京";
	Person.prototype.name="张三";
	Person.prototype.age=30;
	Person.prototype.sayHello=function(){
		alert("Hello!");
	}
	
}
//定义一个学生对象
function Student(){
	//定义一个属性
	Student.prototype.schoolName="中国大学";	
	//定义私有属性
	var gfName = "lingling";
}
function testExt(){
	Student.prototype = new Person();//继承的关键!
	var stu = new Student();
	//alert(stu.name);
	//stu.sayHello();
	//alert(stu.schoolName);
	////alert(stu.gfName);//结果为undefind 因为访问了private的属性
	//重新赋值
	//stu.name="李四";
	//alert(stu.name);//结果为 李四
	
	var p = new Person();
	alert(p.cityName);//调用静态属性:不能通过实例对象调用,结果为undefind
	alert(Person.cityName);//通过类方式直接调用静态属性 结果为:北京
}

##########################################################
备注:使用this及prototype定义都是公有的属性或者方法
      直接使用var 定义,为私有属性或方法,只能在其内部访问,不能通过对象去调用
##########################################################

Javascript面向对象和所有面向对象编程语言一样,都是通过实例化的方式进行访问,两个对象间的非静态变量不会被干扰。

JSON中,属性可以是方法,甚至可以是一个子对象。
使用静态变量,需要实例化一下function,告诉浏览器它不是函数,而是对象

function test(){
	//定义一个静态的属性
	test.cityName = "北京";
	test.prototype.name="张三";
	test.prototype.age=19;
}
	//json里可以定义方法,属性也可以是对象
var jobj = 
{
	name : "王五",
	sex : "男",
	age : 33,
	sayHello : function(){alert("Hello!");},
	subObj : {
		subName : "小A"
	}
};

var jsonArray = ["aaa","bbb"];
	
function run(){
	window.o = function(s){
		alert(s);
	}
	/*
	var t = new test();
	var t1 = new test();
	t1.name = "李四";
	alert(t.name);//张三
	alert(t1.name);//李四
	*/
	//alert(jobj.name);
	//jobj.sayHello();
	//alert(jobj.subObj.subName);
	//alert(jsonArray[0]);//访问数组
	//jobj.name = "找六";
	//alert(jobj.name);//结果为 找六
	//jsonArray[0] = "111";
	//alert(jsonArray[0]);//111
	
	alert(test.cityName);//结果为undefind
	new test();
	alert(test.cityName);结果:北京

	//var t = new test();
	//var t1 = new test();
	//alert(test.cityName);结果为:北京
	//alert(t.cityName);//undefind javascript中,实例对象不能访问静态变量
	o("hehehe");
}

#############################################################

方法重写 覆盖:
function test(){
	test.cityName = "北京";
	test.prototype.name="张三";
	test.prototype.age=19;
	test.prototype.sayHello=function(){
		alert("Hello!");
	}
}
function run(){
	var t = new test();
	//方法重写
	t.sayHello = function(){
		alert("您好!");
	}
	t.sayHello();
}


##################################################
重写window 对象的alert方法
<script language="javascript">
	function test(){
		test.cityName = "北京";
		test.prototype.name="张三";
		test.prototype.age=19;
		test.prototype.sayHello=function(){
			alert("Hello!");
		}
	}
	function run(){		
		window.alert = function(s){
			var o = document.getElementById("Layer1");
			o.innerHTML = "<input name=a type=button value=关闭 onClick='hiddenWindow()'/>" + s;
			o.style.display = "block";
		}
		//通过内置对象方式给对象添加新的方法  很有用
		window.o = function(s){
			alert(s);
		}
		//直接调用  
		o("hahahaha");
	}
	function hiddenWindow(){
		var o = document.getElementById("Layer1");
		o.style.display = "none";
	}
</script>
<style type="text/css">
<!--
#Layer1 {
	position:absolute;
	left:221px;
	top:136px;
	width:290px;
	height:151px;
	display:none;
	color:#FFFFFF;
	z-index:1;
	background-color: #0033CC;
}
-->
</style>
</head>

<body>
<div id="Layer1">
</div>
<input name="看结果" type="button" value="看结果"  onclick="run();"/>
</body>
</html>

##################################################







分享到:
评论

相关推荐

    javascript基础知识总结

    以下是对JavaScript基础知识的总结,主要关注在网页中使用的弹出对话框、函数调用以及带有参数的函数。 1) Alert Box `alert()` 函数用于显示一个包含警告信息的单行对话框,用户只能点击“确定”按钮关闭它。在...

    JavaScript基础知识总结

    1. JavaScript 的基础知识 在学习 JavaScript 之前,你需要了解 HTML 和 XHTML 的基础。JavaScript 被设计用来向 HTML 页面添加交互行为,通过在 HTML 中插入 JavaScript 代码,可以实现页面元素的动态操作和用户...

    JavaScript基础知识总结.xmind

    通过思维导图的方式,快速了解掌握JavaScript的基本内容

    JavaScript语言基础知识点总结十张图

    本文将基于“JavaScript语言基础知识点总结十张图”这一主题,深入探讨JavaScript的基础概念、语法特性以及核心知识点。 1. **变量与数据类型** JavaScript有七种数据类型:Undefined、Null、Boolean、Number、...

    Web前端HTML+CSS+JavaScript基础知识总结.xmind

    本思维导图涵盖HTML、CSS所需掌握的主要应用知识,及JavaScript基础语法,是本人2020年暑假学习笔记,总计...体系清晰,逻辑分明,适合已学习人群对基础知识的复习,初学者也可以以此为基础进行自己的知识体系创建。

    JavaScript语言基础知识点总结

    以下是对JavaScript语言基础知识点的详细总结: 1. **变量与数据类型**: - 变量:JavaScript中的变量无需预定义,使用`var`、`let`或`const`声明。`let`和`const`是ES6引入的新特性,它们在块级作用域内有效。 -...

    javascript基础知识PDF

    2.1 JavaScript 操作对象的简单介绍-- 属性和方法 . . . . . . . . 8 2.2 JavaScript 代码的加入 . . . . . . . . . . . . . . 10 2.2.1 加入JavaScript 代码的方式一 . . . . . . . . . . . . . . . . . . . . . . ...

    JavaScript学习笔记,javascript基础知识,基础语法整理.pdf

    JavaScript基础知识点总结 JavaScript是一种高级的、动态的、基于对象的客户端脚本语言。它是在网页上执行的脚本语言,能实现网页的交互功能。下面是该资源中的重要知识点总结: 一、 JavaScript 基本概念 * ...

    Javascript基础知识整理.doc

    Javascript基础知识整理 JavaScript是一种高级的、动态的、弱类型的编程语言,主要用于客户端脚本编程。它可以在浏览器中执行,实现网页的交互性和动态效果。本文将对JavaScript的基础知识进行整理和总结,包括脚本...

    JavaScript语言基础知识总结(10张,神一样的总结!)

    这篇总结涵盖了JavaScript语言的基础知识,帮助初学者快速上手并深入理解这门强大的脚本语言。 首先,我们来看“JavaScript 数据类型”。JavaScript有七种数据类型:Undefined、Null、Boolean、Number、BigInt、...

    javascript课程内容总结

    JavaScript 是一种广泛应用于网页开发的编程语言,以下是 JavaScript 的基础知识点总结。 数据类型 在 JavaScript 中,数据类型包括字符串(string)、数值型(number)、布尔型(boolean)、null、undefined 和...

    JavaScript基础知识.xmind

    javascript基础知识思维导图,js入门必备,学好ES5才能去学ES6,请不要本末倒置。ES5是基础、ES6其实是ES5的技术补充,弥补ES5长久以来的一些痛点,增加语法糖。ES6思维导图,后续更新。

    一套JavaScript 语言基础知识点总结

    本文将深入探讨JavaScript的基础知识点,包括语法、变量、数据类型、控制结构、函数、对象、数组、DOM操作等方面。 1. **JavaScript 语法基础** - 注释:单行注释`//`和多行注释`/*...*/` - 行与语句:以分号`;`...

    javascript知识点总结《一》

    ### JavaScript知识点总结《一》 ...以上是关于JavaScript的基础知识点总结,涵盖了初步认识JavaScript以及JavaScript的基本语法等内容。这些知识点对于初学者来说非常重要,有助于快速入门并进一步深入学习。

    web前端总结的一套JavaScript 语言基础知识点总结

    以上是对这位资深Web前端开发者总结的JavaScript基础知识的详解,理解并熟练掌握这些内容,对于提升JavaScript编程能力至关重要。通过不断实践和学习,开发者可以进一步探索JavaScript的高级特性和应用,例如前端...

    JavaScript 语言基础知识点总结(思维导图)_蜗牛.zip

    本文将深入探讨JavaScript的基础知识点,通过思维导图的形式帮助学习者更好地理解和记忆。 1. 变量与数据类型: JavaScript支持变量的动态类型,这意味着你无需在声明时指定其类型。主要有七种基本数据类型:...

    javascript基础知识.docx

    总结来说,JavaScript基础知识涵盖了数据类型、运算符、流程控制、函数以及与HTML的交互等方面,这些都是进行前端开发时不可或缺的知识点。理解并熟练运用这些概念,可以帮助开发者创建出丰富且互动性强的网页应用。

    JavaScript 知识点总结(思维导图10张)

    本文将围绕“JavaScript知识点总结(思维导图10张)”进行详细解析,涵盖从基础语法到高级特性,帮助你构建完整的JavaScript知识体系。 1. **JavaScript操作符与字符** (Javascript-operational-character.gif) - ...

    js常用知识总结经典javascript知识总结,经典javascript知识总结

    这篇经典JavaScript知识总结涵盖了从基础语法到高级特性的多个方面,旨在帮助有一定基础的开发者巩固和扩展他们的JavaScript知识。 1. **创建脚本块**:在HTML文件中,使用`&lt;script&gt;`标签来插入JavaScript代码。...

    JavaScript 语言基础知识点总结(思维导图)

    以下是对JavaScript语言基础的详细总结,涵盖的主要知识点包括变量、数据类型、操作符、控制流、函数、对象、数组、闭包、原型链等。 1. 变量与数据类型: - 变量:在JavaScript中,使用`var`、`let`或`const`...

Global site tag (gtag.js) - Google Analytics