JavaScript基础知识(一)

一、js是由哪几部分组成的?
1.核心(ECMAScript)
2.文档对象模型(DOM),JS用于操作HTML的api
3.浏览器对象模型(BOM),JS用于操作浏览器的api
二、数据类型
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、Null类型、Undefined类型
引用数据类型:对象(Object)、数组(Array)、函数(Function)。

var x;                  // x 为 undefined,没有值
var x = 5;              // 现在 x 为数字
var x=1/0;              //结果:Infinity(正无穷大)
var x = "Ricardo";      // 现在 x 为字符串,字符串是存储字符的变量
person=null;            //为null,可以通过将变量的值设置为 null 来清空变量。
var x=true;             //布尔(逻辑)只能有两个值:true或false
var y=false;      
var name=["aa","bb","cc"];  //数组 
var student={name:"hh",age:18,gender:"男"};  //对象

-引用类型的值可以改变:

  var person={name: 'hh'};
  person.name="tt"; // 通过修改对象属性值更改对象
  console.log(person) ;// 输出:{name: "tt"}
  person.age=18; // 给对象增加一个属性
  console.log(person); // 输出:{name: "tt", age: 18}
  var arr=[1,2,3,4,5,6];
  arr[1]=0; // 更改数组的某一个元素
  console.log(arr); // 输出:[1,0,3,4,5,6]
  arr[6]=8; // 给数组增加一个元素
  console.log(arr); // 输出:[0,2,3,4,5,6,8]

-引用类型可以添加属性和方法:

  var person = {};
  person.gender = "男";
  person.say = function () {
    alert('hello world');
  }
  console.log(person.gender);   // 输出:男
  console.log(person.say);   // 输出:function () { alert('hello world') 

三、操作符

算数运算符描述
+
*
/
%求余(保存整数)
++累加
- -递减
比较运算符描述
===先比较两个值的数据类型,如果数据类型一致,再比较值,如果数据类型不一直,直接返回false
!==不等于,取反===
==如果两个值的数据类型不一致,先转换成一致的然后再比较;如果比较的是引用数据类型,那么比较的是引用地址
!=不等于,取反==
<,<=小于,小于等于
>,>=大于,大于等于
逻辑操作符描述
&&逻辑与,操作只有在它的两个操作数都是true时才会是true
II只要它的操作数中有一个是true,结果是true。如果它的两个操作数都是true,结果也是true。只有当它的两个操作数都是false时,”逻辑或“操作才会是false
!逻辑非,作用于单个逻辑操作数,其结果是把那个逻辑操作数所返回的布尔值取反

四、数据类型转换
1.判断变量的数据类型会用到标识符typeof
var mood = “happy”;
alert(typeof mood);
alert(typeof 95);

2.转换成字符串要使用toString()
var married = false;
alert(married.toString());

3.转换成数字时,有两种方法,parseInt() 转换成整数,parseFloat()转换成浮点数

var test = parseInt(“blue”); //returns NaN
var test = parseInt(“1234blue”); //returns 1234
var test = parseInt(“22.5”); //returns 22
var test = parseFloat(“1234blue”); //returns 1234
var test = parseFloat(“22.5”); //returns 22.5

五、流程控制语句
1.分支语句

if(exp){

	      }
//exp可以为任何数据类型,但是在执行的时候会被自动转换为boolean

	      if(exp){

	      }else{

	      }

	      if(exp1){

	      }else if(exp2){

	      }else{

	      }

	      var v='1';
	      switch(v){
		      default:
		         break;
	          case '1':
	             //...
	             break;
	          case '2':
	             //...
	             break;
	          ...
	      }
switch 中,变量与常量对比的时候使用===
每个case的结束都需要有break
default可以出现在switch中的任何位置,但是如果不在最底下,务必添加break
break,continue区别:
  continue//跳出本次循环,直接进入下次循环 
  break//结束掉整个循环

2.循环语句
三要素:初始化条件,结束判定条件,迭代器

1. for循环
		for(初始化条件;结束判定条件;迭代器){
		//循环体
		}
2. while循环,循环是先判断后执行
		初始化条件
		while(结束判定条件){
			//循环体
			迭代器
		}
3. do while,是先执行一次再判断
		初始化条件
		do{
			//循环体
			迭代器
		} while(结束判定条件);
4. 增强for循环
		数组,Collection
		数组和对象

		for(var i in arr){

		}

六、对象
对象的属性可以动态添加和删除

	   1) 创建空对象
		  1. 构造函数
			var obj = new Object();
			obj.id = 1;
			obj.name = "terry";
			obj.gender = "男";
		  2. 对象字面量
			使用大括号括起来,属性与属性之间通过逗号隔开,属性名与属性值之间通过冒号隔开。属性可以不加引号,但是属性中出现了特殊字符,一定要加引号
			var obj = {};
			var obj = {
				id:1,
				name:"terry",
				gender:"男"
			}
		2) 访问对象属性
	
		  1. 点访问符
			var obj = {
				id:1,
				name:"terry",
				gender:"男"
			} 
			obj.id

		  2. 中括号访问符
			var obj = {
				id:1,
				name:"terry",
				gender:"男"
			}
			obj["id"]=>var id = "id";
			obj[id]
			
		  3. 遍历对象
			for(var key in obj){
				var val = obj[key];
			}
		3) 检测属性
			var obj = {
				id:1,
				name:"terry",
				gender:"男"
			}
			"id" in obj
			
	    4) 删除属性
		    delete obj.name
		    
	    5) 对象序列化
		    var params = {
			   username:"terry",
			   password:"123321"
		   } 
		   
		  1. 序列化
			JSON.stringify(params)
			{username:"terry", password:"123321"}
			'{"username":"terry","password":"123321"}'
		  2. 反序列化
		 	JSON.parse(json);
		6) 在js中所有的对象都可以调用Object原型【方法区】中的方法
		   Object原型有哪些方法和属性
			 toString()
			 valueOf()
			 constructor
			 hasOwnProperty()
			 propertyIsEnumerable()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值