javascript

#javascript特点
js
解释性语言 单线程
sheel
主流浏览器 内核
IE trident
Chrome blink
firefox gecko
opera presto
safari webkit

javascript	
		字符串比较	ASCLL码 	
				var a = "a" > "b";
	a 97  ,  A 65


逻辑运行符
							&&   ||  !
					undefined  null NaN ""  0 false ==》 false;
&&
		var a = 1 && 2 ;  a=2;		
		var a = 1-0 && 2;		a =0;	 
			看第一个表达式 为turn 就看下一个 是否为真 ,都是真返回最后一个值 
				 例: var a =  1 +2 && 3 +2 &&  5;  a=5
			有一个为假 ,就返回假的值
				例: var a =  1 +2 && 0 &&  5;  a=0
|| 
		var sum = 0 || 1;	=1
			遇到 true 就返回,如果没有则返回最后一个 :sum = 0 || false || false; =false
 ! 	
 		取反
 		
 window.prompt(' ');			页面输入
 parseInt() 				转为int
	
数组
		:var arr = [1,2,3,“ss”,nudefined]	什么类型都可以一起放 
对象
	object
			var date{	
			lastName : "Deng",
			age : 18,	
}	

	
			类型转换
						number  转为number 类型
						parseInt 	==》 整形	 
		字符 * 数字 = 数字 
		"10" * 10 =100
  		“字符”+数字+ = 数字字符
  		“10“ + 10 = 1010
  		除了加号 是直接在后面加上。其他都是转化为 数字
  		“"10" /"10" 1
  		"10" +"10" 1010
	





	函数
		function
	1.命名函![在这里插入图片描述](https://img-blog.csdnimg.cn/20190902000951887.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDYwMTQxMA==,size_16,color_FFFFFF,t_70)数表达式
			var test = function abc(){}
				
			
	2.匿名函数表达式
			var test =function (){}
			
	函数声明:
			function test(){}


			形参(a,b)
				function sum(a,b){
		//javascript 默认在形参上面定义了一个类似数组的  arguments【】 装实参
				也是获取形参  sum.length`在这里插入代码片`
				for(var i = 0;i < arguments.length; i++ ){
				
					console.log(arguments[i])    	实参列表=[1 ,9 6 ]
					
						}								
					}	
		sum(1 ,9 ,6);	
			arguments =(1 ,9 ,6)实参	。这个不像java  ,Javascript无论是形参多还是实参多,都不会报错。
			


**递归			找规律 找出口**
	阶乘
			function jc(n){
				if(n == 1){
					return 1;
				}
				return n*jc(n-1);	
			}
		//递归 斐波那契数列	1 1 2 3 5 8 
		//fb(n)=fb(n-1)+fb(n-2)
			function fb(n){
				if(n == 1 || n == 2){
					return 1;
				}
				
				return fb(n-1)+fb(n-2);
	
			}



	作用域:
				里面可以访问外面的变量,外面不可以访问里面的。
				
				全局变量
				局部变量
	1:未经定义就赋值的变量 为全局变量 即window变量
			eg: a = 123;  
			eg:  var a = b =123;    这个b是全局变量,a不是。
			执行顺序是 b ==》123 ,再var 声明 a =b;
			
	2:一切声明的全局变量都是window属性,
			eg:var a=123;===>window.a=123;








	**预编译**
				ao = 执行期上下文
				1:AO
				2:找形参和变量声明,作为ao对象,值为undefined
				3:将实参和形参统一
				4:在函数体找函数声明,值赋予函数体。
		
		未定义的 参数 只有放在typeof(a) 不会报错
		


					 <h3>作用域</h3>
	每一个javascript函数都是一个对象,对象中有一些属性我们可以访问,有些不行,
	【scope】就是不能访问的一个,【scope】就是执行期上下文的集合,AO .GO 

一个函数被定义时候就创建了一个scope ,里面有个GO(全局上下文),放在scope集合中的第0位,
但是在执行
这个函数时候,又产生了一个AO (执行期上下文),这时候,AO就存在 scope 的第0位,GO,往后面排。
此时b()函数执行时,也产生了scope ,产生了AO ,此时 B() 函数的AO,是在fs()的AO里面。
			funtion fs(){
				function b(){
				
				}
			}
			var a =100;
			fs();
			
立即执行函数
	(function(){}())	


			对象
		构造函数	有 new
		function Student(){}
		var student = new Student();
		函数执行 没有new
		 function student(){}
		 var student = student();
		 
		this原理 
					1 执行时候 创建一个 this {}
					2 赋值  this.xxx = xxx
					3 返回 return this
					
			
			function Person(name,height){
				// 创建 this {}
				this.name = name;
				this.height = height;	//赋值 this.xxx= xxx
				this.say = function (){
					console.log(this.say);
				}
	
				// 返回 return this 
			}
			console.log(new Person('老成',180).name)




			原形			:没有的属性就去父类里面找
			xxx.prototype{}
			
				Person.prototype.lastName = "MrDeng";	//原形 object
			function Person(name){
				this.name = name;
			}
			var person = new Person('james');
		没有的属性就去父类里面找 :	person.lastName = Mrdeng;
		
		![avatar](/G:1567475020(1).jpg)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值