JavaScript基础知识

JavaScript基础知识


javas可以通过函数来操作HTML和CSS,这其中会用到JavaScript对象,Browser 对象和DOM对象。
JavaScript中的数据会共享。

数据类型

JavaScript是弱类型语言,只需要var来定义即可,数据类型靠赋值后来定义。

			//1.定义数字类型
			var num =10;
			var num1 = 10.1;
			console.log(num + num1);
			
			//2.定义字符串
			var str = "hello sc";
			console.log(str);
			
			//3.布尔类型(非0即为真:true !0 !null)
			var bool = true;
			if(bool) {
				console.log("真");
			}else {
				console.log("假");
			}
			
			//4.特殊类型
			var n ;//变量定义了但没有赋值,而直接使用,就会输出undefine
			console.log(n);
			console.log(n+1);//输出NAN,not a number
			console.log(10/0);//输出Infinity,无穷大

对象、属性和方法的创建

JavaScript创建对象的方式有很多,一种为new来创建对象,还有的方法是通过JSON格式来定义对象,常用的是通过JSON格式定义对象,简洁明了。
属性只需要通过引用符号 . 创建即可;JavaScript没有方法,方法是通过匿名函数模拟的。
通过new创建对象

			//1.创建对象
			var user = new Object();
			//2.给属性赋值
			user.id = 1001;
			user.name = "tom";
			user.age = 12;
			user.email = "tom@qq.com";
			//3.使用匿名函数模拟对象的方法
			user.setName = function(name) {
				this.name = name;
			}
			user.getName = function() {
				return this.name;
			}
			user.out = function() {
				console.log(this.id,this.name,this.age,this.email);
			}
			//4.调用属性和方法
			console.log(user.id,user.name,user.age,user.email);
			user.setName("Mark");
			var name = user.getName();
			console.log(name);
			user.out();

使用JSON格式定义对象

			var user = {
				"id":1001,
				"name":"tom",
				"age":20,
				"email":"tom@qq.com",
				"getName":function() {
					return this.name;
				},
				"out":function() {
					console.log(user.id,user.name,user.age,user.email);
					}
				}
			user.out();	

JSON对象和JS对象的转化

java后台到js前台是通过JSON来进行数据交换的,需要JSON对象与JS对象之间进行转化。

		<!-- json字符串与js对象之间的转换(json格式) -->
		<script type="text/javascript">
			//1.定义json格式的字符串 对象的方式 json格式字符串  java后台系统 -----> js前台 数据交互 字符串(json)
			var user = '{"id":"1001","name":"tom","age":23,"email":"2018593033@qq.com"}';
			//2.将json格式的字符串转换为js对象
			var userObj = JSON.parse(user);
			//3.遍历对象
			for(var pro in userObj) {
				console.log(userObj[pro]);
			}
			//document.write(userObj.id,userObj.name,userObj.age,userObj.email);
			document.write("<br/>");
			//4.将JSON格式js对象转换成字符串
			var str = JSON.stringify(userObj);
			document.write(str);
		</script>
		<!-- json字符串与js数组之间的转换(json格式) -->
		<script type="text/javascript">
			//1.定义json格式的字符串 数组类型
			var users = '['+
				'{"id":"1001","name":"tom","age":23,"email":"2018593033@qq.com"},' +
				'{"id":"1001","name":"tom","age":23,"email":"2018593033@qq.com"},' +
				'{"id":"1001","name":"tom","age":23,"email":"2018593033@qq.com"}]';
			console.log(users);	
			//2.将其转换为js数组
			var ar = JSON.parse(users);
			//3.遍历数组
			for(var index in ar) {
				console.log(ar[index]);
			}
			//4.将js数组转换为JSON字符串
			var str = JSON.stringify(ar);
			console.log(str);
		</script>

JavaScript对字符串操作API

			<script type="text/javascript">
			//1.字符串的创建
			var str = "Hello World";
			console.log(str);
			var str1 = "NMML";
			//2.API
			//a.将字符串对象的内容输出
			console.log(str.toString());
			console.log(str.valueOf());
			//b.字符串的连接
			console.log(str + str1);
			console.log(str.concat(str1));
			//c.截取字符串  substr(1,2) 1为起始位置,2为截取字符串长度
			var subStr = str.substr(1,3);
			console.log(subStr);
			//截取字符串 substring(2,5) 2为起始位置,5-1为结束位置 
			var subStr1 = str.substring(2,5);
			console.log(subStr1);
			//d.获取字符串的位置
			var index = str.indexOf("lo");
			console.log(index);
			index = str.lastIndexOf("or");
			console.log(index);
			//e.获取字符
			var c = str.charAt(1);
			console.log(c);
			//f.字符串切割
			var st = "123-#ac-dsad-#13da-dsa";
			var rs = st.split("-");
			console.log(rs);
			//g.获取ASII码
			console.log(String.fromCharCode(65));
			//h.字符串遍历
			for(var i=0; i<st.length; ++i) {
				var c = st.charAt(i);
				console.log(c);
			}
		</script>

创建函数与回调函数

JavaScript做出某些动画和事件都是通过函数来完成,而回调函数就是函数内部能够动态的调用某个函数。
本方法为最常用的创建函数的方法

			function add(a,b) {
				return a+b;
			}
			//调用函数
			rs = add(10,5);
			console.log(rs);

回调函数

		<script type="text/javascript">
			function fun(a,b,callbake) {
				callbake(a);
				callbake(b);
			}
			//输出的方法
			function out(msg) {
				console.log("out方法的输出:"+msg);
			}
			//调用
			fun(10,20,out);
		</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值