代码改变世界

javascript学习(1)——[基础回顾]变量、声明、数据类型、类型转换

2013-11-16 14:24  低调de草原狼  阅读(135)  评论(0编辑  收藏  举报

本次javascript的学习,主要面向对象是有一定javascript基础的,当然即便是你不是特别懂,我个人推荐一本浅显易懂的书《Head Frist Javascript》,这本书比较简单,而且浅显易懂,非常适合javascript的入门学习。哈哈,顺势,做下这本书的“广告”啦。


简单的在javascript的设计模式学习之前,先回顾下javascript的基本知识,不能面面俱到,但是也能够起到简单的回忆作用。


变量:

我们可以认为它是一个存储信息的容器,命名规范,这里不多说,百度一下或者java等程序员应该也比较清楚,而且它是大小写敏感的,Y和y就是不一样的。

另外,我觉得值得一说的是:

javascript声明不像java这种语言一样,这么规范,它可以说是一种弱类型语言,也就是说你声明初是string类型的时候,以后还可以再改变,这个的确是提供了很大的开放性,但是个人觉得不推荐这种做法,因为本身这样会使你自己都会觉得很麻烦。

另外还有关于变量的一点是,声明用var 声明,而且即便你不用var声明也是可以的,此时是全局变量。


数据类型:

简单列举下常用的javascript中的数据类型,string number boolean array

这里边比较常用的是,string和number之间的转换时比较常见的,下面简单贴一段代码,大家自己看下,说不定会用到:

/**
 * 数据类型和类型转换
 */
(function(){
/**
 * 基本数据类型(3种)
 * (1)数字 number
 *   例如 3.1415927 ,0.251,.2,100,1.478E
 * (2)字符串
 *   string
 * (3)布尔 booble
 */
 //数字型转字符串
 var num1 = 3.1415927;
 var str1 = Number.toString(num1); 
 document.write(typeof str1 == "string");//true
 document.write("<br>")
 //四舍五入
 var num2 = num1.toFixed(2);
 document.write(num2);
 document.write("<br>")
 //返回指定的位数的数字
 var num3 = num1.toPrecision(4);
 document.write(num3);
 document.write("<br>")
 //(Math) 介绍一点方法
 //四舍五入round
 document.write(Math.round(4.7));
 document.write("<br>")
 //随机出处理0~1
 document.write(Math.random());
 document.write("<br>")
 //0~10的随机数 floor向下取整
 document.write(Math.floor((Math.random()*11)));
 document.write("<br>")
 document.write("-------------------------------<br>")
 
 //字符串
 //注意(转义) pca't  要输入 pca\'t \n 换行 
 /**
	\' \" \& 和号+ \\ \n \r 回车 
	\t 制表符 \b退格 \f 换页
  */
 //属性 length indexof substring chartAt(整数)
 //indexof判断所需要的字符串在第几位,如果没有的话范围-1
 //如何转成数字
 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;
 document.write("-------------------------------<br>")
 if(!s){
 	document.write("s is false<br>")
 }
 if(!o){
 	document.write("o is false<br>")
 }
 if(!l){
 	document.write("l is false<br>")
 }
 if(!n){
 	document.write("n is false<br>")
 } 
 if(!f){
 	document.write("f is false<br>")
 }
 if(!u){
 	document.write("u is false<br>")
 }
 /**
s is false
f is false
u is false
n is false
  */
 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对象
  */
})()






另外简单列举一下javascript中的array这种数据类型的用法,同样贴一段代码:

/**
 * 数据类型和类型转换
 */
(function(){
	/**
	  * 2复合类型
	  * (1)数组-->有序的集合(array):下标(index) 是从0开始的	 
	 */
	//属性
	//constructor 返回对创建此对象的数组的函数引用
	//index 
	//input
	//*length
	//方法
//	*concat 合并数组
//	*join 把数组按照一定的各式进行串联
//	*push 数组的追加
//	*pop 删除数组返回的最后一个元素
	//sort toString shift 删除并且返回数组的第一个元素
	var arr = new Array();
	arr.push(1);
	arr.push(55);
	arr.push(5);
	arr.push(3);
	arr.push(9);
	//alert(arr.length)
	var arr2 = [1,2,3,45,6,7,8];
	//alert(arr2.join(":"));
	//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>");
	})
})()






相信通过本次博客,你有可能有收获,但是也有可能,没有特别的收获,总之,本次并非是面向初学者设计的javascript设计,还请理解,简单回顾而已。