`
hjljsp
  • 浏览: 636 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

javascript

阅读更多

<JS基础上(01)>
变量:他是敏感大小写的 (Y和y他是2个不同的变量),变量名字必须以字母或者下划线开始 数字不可以,js变量声明可以没有var,如果变量再次被定义一会他的原始数值将不被持有

(function(){
	x = 5;
	length = 66.15;
	var k = "YUNFENGCHENG";
	alert(k)
	k = "USPCAT.COM";
	var x = "44";
	var carname;
})()

 数据类型和类型转换:
基本数据类型(3种):数字 number,字符串 string,布尔 booblean

(function(){
 //数字型转字符串
 var num1 = 3.1415927;
 var str1 = Number.toString(num1); 
 document.write(typeof str1 == "string");//true
 //四舍五入
 var num2 = num1.toFixed(2);
 //返回指定的位数的数字
 var num3 = num1.toPrecision(4);
 //(Math) 介绍一点方法
 //四舍五入round
 document.write(Math.round(4.7));
 //随机出处理0~1
 document.write(Math.random());
 //0~10的随机数
 document.write(Math.floor((Math.random()*11)));
 
 //字符串
 //如何转成数字
 var str2 = "USPCAT.COM";
 var str3 = "3.14";
 var number = Number(str3);
 document.write(typeof number == "number");
 document.write("<br>")
 document.write((str2 - 0)+"<br>");//NaN 非数值
 document.write((str3 - 1)+"<br>");//如果是减法他回自动将字符串转成数字
 document.write((str3 + 1)+"<br>");//加法会当成字符串的拼接操作
 //布尔类型(boolean)
 //true | false
 var s = "";
 var o = {};//true
 var l = [];//true
 var n = null;
 var f = false;
 var u = undefined;
 if(str != "" && str != null && str != undefined){
 	//...
 }
 if(str){
 	//...
 }
 /**
  * 2复合类型
  * (1)数组-->有序的集合(array):下标(index) 是从0开始的
  * 例子var arr = new Array();
  * (2)特殊的对象-->函数(function)
  */
 /**
  * 特殊值
  * (1)null 不是有效的对象\数组\数组\字符串  他们为空 
  * (2)undefined 他是代表没有定义 和空不是一个概念
  * [没有] 但是有容易 有一个盒子但是盒子里卖没有东西
  * undefined 连盒子也没有
  */
 /**
  * 内置特殊对象
  * Data对象
  * Error错误对象
  * ReExp对象
  */
})()

 复合类型

(function(){
	var arr = new Array();
	//push 数组的追加
	arr.push(1);
	arr.push(55);
	arr.push(5);
	arr.push(3);
	arr.push(9);
	//length 属性
	alert(arr.length)
	var arr2 = [1,2,3,45,6,7,8];
	//join 把数组按照一定的各式进行串联
	alert(arr2.join(":"));
	//concat 合并数组
	alert(arr.concat(arr2).toString())
	for (var i = 0; i < arr2.length; i++) {
		document.write(arr2[i]+"<br>");
	}
	//扩展array的方法
	Array.each = function(array,fn){
		for (var i = 0; i < array.length; i++) {
			fn(array[i])
		}
	}
	Array.each(arr2,function(v){
		document.write(v+"<br>");
	})
})()

 

<JS基础上(02)>
运算符表达式

(function(){
	var i = 10;
	var j = 10;
	alert(i++);//10
	alert(i);//11
	alert(++j)//11
})()

 分支

function(){
	var d = new Date();
	var time = d.getHours();
	if(time >= 18){
		document.write("<b>good evening</b>")
	}else{
		document.write(time)
	}

	//三目运算符 (条件)?"成立":"失败"
	var str = "";
	str = (time>10)?"good ,day":"good evening";

	theDay = d.getDay();
	switch(theDay){
		case 5:
			document.write("finally friday");
			break;
		case 6:
			document.write("super zhouliu");
			break;
		case 0:
			document.write("sleepy sunday");
			break ;
		default :
			document.write("xiwang 一个 zhoum");
	}
})()	

 循环

(function(){
	/**
		for(变量 = 开始数值;变量<=结束值;变量=变量+步长){
		}
	 */
	var arr = [1,2,3,45,6,5];
	for (var i = 0; i < arr.length; i++) {
		document.write(arr[i]+"<br>")
	}
	/**
		while(变量<=结束值){
		}
	 */
	var i = arr.length-1;
	while(i>=0){
		document.write(i+"-->"+arr[i]+"<br>");
		i--;
	}
	/**
	 * for(变量 in 对象){
	 * }
	 */
	var o = {name:"USPCAT",age:1};
	for(k in o){
		document.write(k+"-->"+o[k]+"<br>");
	}
})()

 

 <JS基础中>
函数

(function(){

	add(1,1);
	function add(x,y){
		alert(x+y)
	}

	var add2 = function(x,y){
		alert(x+y)
	}
	add2(12,3)
})()

 回调函数

 

(function(){
	//接收回调函数的函数
	function add(x,y,fn){
		this.x = x||1;
		this.y = y||1;
		if(fn){
			fn(this.x+this.y);
		}
	}
	add(1,2,function(v){
		if(v>0){
			alert("re > 0")
		}else{
			alert("re <= 0")
		}
	})
})()

 函数传参

(function(){
	//传值随意性
	function add(x,y,z){
		this.x = x||0;
		this.y = y||0;
		this.z = z||0;
		alert(this.x+this.y+this.z)
	}
	add(12,3,5)
	add(14,5)
	//弊端 : 无法像java等高级语言那有 有函数精确复写的特性
	//技巧 : 如果你这个类是工具类的情况下,那没你接收的参数最好是对象
	/**
	 * conf = {gridName:"",gridCode:"",gridSize:""}
	 */
	function gridUtil(conf){
		alert(conf["gridName"]+" "+conf["gridSize"]);
	}
	gridUtil({gridName:"YUNFENGCHENG",gridSize:10});
	//传值还是传址
	var i = 100;
	var s = "one";
	function add3(i,s){
		i++;
		s+="--"
	}
	/**
	 * 证明 : 基础变量是传递数值的
	 * 自定义对的传参方式是传得"地址"
	 */
	//对象
	var o = {name:"YUNFENGCHENG"}
	function change(o){
		o["name"] = "USPCAT.COM"
	}
	change(o);
	alert(o.name)
})()

 函数递归

(function(){
	//常见的编程题 1~100 用递归算法完成累加
	function add(start,end){
		var num = 0;
		num = num + start;
		if(start < end){
			num = num + add(start+1,end);
		}
		return num;
	}
	
	alert(add(1,100));
})()

 代理函数:用程序来决定返回的新的函数(他是一个生产函数的函数)

(function(){
	//模拟数据库
	var person = {"jim":"m","lili":"w"}
	var test = function(name){
		if(person[name] == "m"){
			return function(nk,wk){
				alert(nk+"  "+wk)
			}
		}else if(person[name] == "w"){
			return function(nk,wk,fk){
				alert(nk+"  "+wk+" "+fk)
			}			
		}
	}
	test("jim")("ok","ok")
	test("lili")("ok","ok","no")
})()

 eval

(function(){
	//eval 他是把一个字符串解析成一个方法并且调用
	var str = "var show = function(){alert(100)}()";
	eval(str)
	//数据库会返回一个字符串(长得像javaScrpit数组)
	var a = "[1,2]";
	var array = eval(a);
	for (var i = 0; i < array.length; i++) {
		alert(array[i])
	}
})()

 

 
分享到:
评论

相关推荐

    深入理解JavaScript系列

    本书是一本全面、深入介绍JavaScript语言的学习指南。本书共分四个部分,第1部分帮助读者快速入手,掌握基本的JavaScript编程要点;第2部分介绍JavaScript的发展和技术背景;第3部分深入探索JavaScript,介绍了语法...

    head first JavaScript源码

    《Head First JavaScript源码》是2010年出版的一本中文版JavaScript学习书籍的源码,这本书以其独特的视觉设计和易理解的方式深入浅出地介绍了JavaScript编程语言。JavaScript是一种广泛应用于网页和网络应用的脚本...

    JavaScript权威指南(JavaScript犀牛书一本)

    《JavaScript权威指南》是JavaScript编程领域的一本经典之作,由著名技术作家David Flanagan撰写,被誉为"JavaScript犀牛书"。这本书深入浅出地讲解了JavaScript语言的核心概念、语法特性和高级特性,对于想要全面...

    JavaScript语言精粹完整版

    《JavaScript语言精粹》作为一本深入浅出讲解JavaScript编程语言的经典之作,对于想要提升自己JavaScript技能的开发者来说,无疑是一份宝贵的资源。本书由Douglas Crockford所著,他不仅是JSON格式的创始人,也是...

    Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript[EPUB版]

    Author David Herman, with his years of experience on Ecma’s JavaScript standardization committee, illuminates the language’s inner workings as never before—helping you take full advantage of ...

    JavaScript之Math对象(源代码)

    JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象...

Global site tag (gtag.js) - Google Analytics