最新免费视频:www.pythonav.com (冒着被砍死的风险)

前端之JavaScript--基础


    

JavaScript
    独立的语言,浏览器具有js解释器
    
一.  JavaScript代码存在形式:
        - Head中
                <script>
                    //javascript代码
                    alert(123);
                </script>
                
                <script type="text/javascript">
                    //javascript代码
                    alert(123);
                </script>
        - 文件
            <script src='js文件路径'> </script>
            
        PS: JS代码需要放置在 <body>标签内部的最下方
        
 二.  注释
        当行注释 //
        多行注释  /*     */
        
 三.  变量:
        
        python:
            name = 'alex'
        JavaScript:
            name = 'alex'     # 全局变量
            var name = 'eric' # 局部变量
        
 四.  写Js代码:
        - html文件中编写
        - 临时,浏览器的终端 console
        
          
 五.  基本数据类型
        数字
            a = 18;
        字符串
            a = "alex"
            a.chartAt(索引位置)
            a.substring(起始位置,结束位置)
            a.lenght    获取当前字符串长度
            ...
        列表(数组)
            a = [11,22,33]
            
        字典
            a = {'k1':'v1','k2':'v2'}
        布尔类型
            小写
      
 六.  for循环
        1. 循环时,循环的元素是索引
        
            a = [11,22,33,44]
            for(var item in a){
                console.log(item);
            }
            
            a = {'k1':'v1','k2':'v2'}
            for(var item in a){
                console.log(item);
            }
            
        2. 
            for(var i=0;i<10;i=i+1){
                
            }
            
            a = [11,22,33,44]
            for(var i=0;i<a.length;i=i+1){
                
            }
            
            不支持字典的循环
    
      
 七.  条件语句
        if(条件){
        
        }else if(条件){
            
        }else if(条件){
            
        }else{
            
        }
        
        ==   值相等
        ===  值和类型都相等
        &&   and
        ||   or
        
    
 八.  函数:
    
        
        function 函数名(a,b,c){
        
        }; a,b,c属于形参
        
	不加分号也可以运行,但是为了程序员的荣耀和尊严,加上吧🙃

        函数名(1,2,3)
    
       
    
    

 九.  Dom : 文件对象类型(Document Object Model,DOM)
 
	是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.
	DOM把网页和脚本以及其他的编程语言联系了起来.
	DOM属于浏览器,而不是JavaScript语言规范里的规定的核心内容
	DOM权当是把整个HTML文件,给你转化成一个对象。

	html : 裸体的人
	css : 穿上衣服
	js : 动起来

	想让谁动起来,就要先找到它。
	修改它的内容包括(删除,改变内部内容,修改属性例如id = 'i1' ,name = 'ff' 都叫属性。

    1、找到标签
        获取单个元素        document.getElementById('i1')
        获取多个元素(列表)document.getElementsByTagName('div')
        获取多个元素(列表)document.getElementsByClassName('c1')
        a. 直接找
            document.getElementById             根据ID获取一个标签
            document.getElementsByName          根据name属性获取标签集合
            document.getElementsByClassName     根据class属性获取标签集合
            document.getElementsByTagName       根据标签名获取标签集合
        
        b. 间接
            tag = document.getElementById('i1')
            
            parentElement           // 父节点标签元素
            children                // 所有子标签
            firstElementChild       // 第一个子标签元素
            lastElementChild        // 最后一个子标签元素
            nextElementtSibling     // 下一个兄弟标签元素
            previousElementSibling  // 上一个兄弟标签元素
            
		     parentNode          // 父节点
		     childNodes          // 所有子节点
		     firstChild          // 第一个子节点
		     lastChild           // 最后一个子节点
		     nextSibling         // 下一个兄弟节点
		     previousSibling     // 上一个兄弟节点

    2、操作标签
        
        a. innerText
            
            获取标签中的文本内容
            标签.innerText
            
            对标签内部文本进行重新复制
            
            标签.innerText = ""
           
           outertext
           
           innertext HTML内容
           
           value 值
           
          属性 : 
          attributes                // 获取所有标签属性
			setAttribute(key,value)   // 设置标签属性
			getAttribute(key)         // 获取指定标签属性
 
			/*
			var atr = document.createAttribute("class");
			atr.nodeValue="democlass";
			document.getElementById('n1').setAttributeNode(atr);
			*/
            	
        b. className
            tag.className =》 直接整体做操作  //获取所有类名
            tag.classList.add('样式名')   添加指定样式  //添加类
            tag.classList.remove('样式名')   删除指定样式  //删除指定类
    
            PS:
            
                <div onclick='func();'>点我</div>
                <script>
                    function func(){
                    
                    }
                
                </script>
		c. 标签操作
   			创建标签 : 
   				//方法一:
   					var tag = document.createElement('a')
					tag.innerText = "ff"
					tag.className = "c1"
					tag.href = "http://www.cnblogs.com/ugfly/"
					 
					// 方式二
					var tag = "<a class='c1' href='http://www.cnblogs.com/ugfly//wupeiqi'>ff</a>"
			
			操作标签 : 
					/ 方式一
					var obj = "<input type='text' />";
					xxx.insertAdjacentHTML("beforeEnd",obj);
					xxx.insertAdjacentElement('afterBegin',document.createElement('p'))
					 
					//注意:第一个参数只能是'beforeBegin'、 'afterBegin'、 'beforeEnd'、 'afterEnd'
					 
					// 方式二
					var tag = document.createElement('a')
					xxx.appendChild(tag)
					xxx.insertBefore(tag,xxx[1])

		e. checkbox  
                获取值
                checkbox对象.checked
                设置值
                checkbox对象.checked = true
    
    补充 :
    
    	console.log                 输出框
		alert                       弹出框
		confirm                     确认框
		  
		// URL和刷新
		location.href               获取URL
		location.href = "url"       重定向
		location.reload()           重新加载
		  
		// 定时器
		setInterval                 多次定时器
		clearInterval               清除多次定时器
		setTimeout                  单次定时器
		clearTimeout                清除单次定时器
    
    
 十.  对象
	
> 创建方式
> 
> 	var s = "str"
	var s = new String("str")
	
	
	属性和方法 : 
	var s  = "hello"
	console.log(s.length)
	console.log(s.toUpperCase)
	console.log(s.charAt(1))  :通过索引找字符
	console.log(s.indexOf("l")) : 通过字符找索引
	
	
***
	字符串处理方法 : 
	常用的有 : 
	  字符串截断 : 
		substr(1,3) : 从1开始截三个  (截断起始位置,截断长度)
		substring(1,3) : 从1开始数,只取第三个  (截断起始位置,拿到的数的位置)
		这俩和切片一样,拿前不拿后.
		
	切片 : 
		slice(1,3) : 拿前不拿后    
		  和substr没区别
		  
	字符串切割 :
		split()  : 
		
***
	如何创建数组?
	  方式1 : var arr=[11,2,33];
	  方式2 : var arr2=new Array(1,2,3)
	  方式3 : var arrname = new Array(长度)   定长
	  
	  方式1和方式2不同点在于 :1 返回的类型是object,2 返回的类型是
	  
	  
	数组方法 :
		var arr=[11,22,33,4,'hello',true];
		console.log(arr[4])

	join方法 :
		在JS里面,join方式映射到数组.
		py里面使用join方法,没有数字概念
		
	reverse 反转  sort 根据ASCii 码排:
		var s =[1,2,3,4,5,111]
		console.log(s.reverse())反转
		console.log(s.sort())	黑红梅方式的比较  		
	push pop :都是在最后位置进行操作
		这俩都是进行的一个栈操作.
		先进后出.
		
 十一.  三元运算符 :
		
	console.log(2>1?2:1)  
	
	
	
 十二.  Math对象 (类似于py里的sub函数)  : Math是对象,可以直接调用

		console.log(Math.max(1,2,3));
		console.log(Math.min(1,2,3));
		
		floor : 向下取整
			console.log(Math.floor(1,23)); : 1
			console.log(Math.floor(1.67)); : 1
		ceil : 向上取整
			console.log(Math.ceil(1.00));  :1
			console.log(Math.ceil(1.01));  :2
		
		
十三. function 函数

	arguments : 相当于py中的 *args

	匿名函数 : 使用完会立即回收
		
		PY中 : lambda x,y :x+y
		JS :  也叫自执行函数
			(function foo(i){
				alert('en')
			})(i)
		
			### 注意 : js的函数加载执行和Python不同,它是整体加载完才会执行,所以执行函数放在函数声明上面或者下面都可以.
***
posted @ 2017-10-23 18:21  uuuuuuu  阅读(129)  评论(0编辑  收藏  举报

最新免费视频:www.pythonav.com (冒着被砍死的风险)