Javascript 的简介与基本运用

152 阅读2分钟
                js简介

javascript的简写

特点:1.代码可以用任何编辑器编写;
 2.解释型——不需要检查对错,直接运行,碰到就停止;
 3.弱类型语言——有数据决定了数据的类型是什么;(强类型语言——数据决定了你要保存的数据是什么,更严格;
 4.面向对象语言——万物皆对象(属性和方法)
 

js的用途:

      1.CSS能做到,js能做,CSS不能做的js也能做;
      2.ajax和服务器端进行交互也是js的一部分;
      
      

三种输出方式:

          1.在控制台输出: console.log(数字/“字符串”/变量),用var 来引入变量;
          2.在页面上输出:document.write("<标签名>"+name+"</标签名>");
          3.在弹出框输出:alert(数字/"字符串"/变量);
   

变量和常量:

变量:可以改变的
 var 变量名=值;

常量:一旦创建就不可以修改
 const 常量名=值;
     
变量的特殊:不能以数字开头,不能使用关键字,尽量见名知意;name很特殊——不管保存的是什么数据都会变成一个字符串。

算术运算符:

    +、-、*、/ 、%、
    判断奇数:num%2==1;
    判断偶数:num%2==0

数据类型:

1、原始/基础/值类型:5NumberStringBooleanundefinednull
            

数据类型的转换:

1、隐式转换:
	算术运算符具有隐式转换,默认都转为数字再运算
            
	特殊:1、+运算,碰上字符串,则为拼接
	      2、-*/%,字符串也会转为数字,必须是纯数字组成的字符,但凡包含了非数字字符则为NaN
	      3、true:1
		 false:0
		 undefined:NaN
		 null:0
		 "500":500
		 "50dsa0":NaN
	      4、NaN:参与算术运算结果都为NaN,参与比较运算结果都为false,判断是不是                                 NaN:!isNaN(x)
                  
    2、显示/强制转换
	1、xx.toString();//undefined和null不支持
	2parseInt(str/num)/parseFloat(str)/Number(x)     
            
            
            

函数:function基础:也称方法 提前预定义好,反复执行的代码

 创建:
function 函数名(形参,...){
	函数体
}

 调用:
函数名();
elem.onclick=function(){
	函数名();
}
掉带有参数的函数
  创建带参数的函数:  function 函数名(形参,...){
    	                    函数体
                         }
  掉用带参数函数时:   function zzj(fruit){
                             console.log("榨"+fruit+"汁");
                             }
                         zzj("苹果")
                         zzj("香蕉")
 
    

分支结构:if...

循环结构:反复执行的代码 - 几乎一瞬间执行完毕

 1.while循环
var i=0;
while(i<10){
	循环体;
	i++;
}
    
 2.for循环
for(var i=0;i<10;i++){
	循环体;
}
死循环:while(true){}
	for(;;){}
退出循环:break

数组:一个变量/内存空间保存住多个数据

创建:var arr=[1,2,3,4,5,...]
访问:arr[下标]
      倒数第n个:arr[arr.length-n]

添加/替换:arr[下标]=新值
      末尾添加:arr[arr.length]=新值

缩容:arr.length-=n;

遍历数组:对数组中的每个元素执行相同 或 相似的操作
  for(var i=0;i<arr.length;i++){
	arr[i];//当前次元素
  }     

javascript 由三部分组成

     1.ECMAScript(ES3/5/6)——核心语言
     2,DOM-Document Object Model——   文档对象模型——操作文档(HTML3.BOM-Browser Object Model:浏览器 对象模型——操作浏览器
  

DOM:Document Object Model:文档对象模型:操作文档

 概念:DOM把HTML看做了一个树状结构,树根是document对象(属性和方法),不需要创建,直接使用
 
  1. 获取元素:

    标签/class名:var elems=document/已经找到的父元素.getElementsByTag/ClassName("标签/class            名")
      特殊:1、返回的是一个类数组集合,可用下标、length、遍历 - 不能直接做操作
       2、没找到返回的空集合
       3、不一定非要从树根进行查找
    
    通过节点之间的关系:前提:至少要找到一个人
     父:xx.parentNode;
     子:xx.children; - 集合
     第一个儿子:xx.firstElementChild;
     最后一个儿子:xx.lastElementChild;
     前一个兄弟:xx.previousElementSibling;
     后一个兄弟:xx.nextElementSibling;
    

2.操作元素:

1、内容:innerHTML(双标签:识别标签)/innerText(双标签:纯文本)/value(input)
   获取:elem.内容属性;
   设置:elem.内容属性="新内容";

2、属性:
   获取:elem.getAttribute("属性名");			===	elem.属性名
   设置:elem.setAttribute("属性名","属性值");		===     elem.属性名="属性值"
       
       简化: 
            获取属性值:elem.属性名;
            设置属性名:elem。属性名=“属性值”
            
         注意:class必须改写为className,只能操作标准属性,不能操作自定义属性

3、样式:
   内联样式
   获取:elem.style.css属性名; - 只能获取到内联样式
   设置:elem.style.css属性名="css属性值"
   注意:css属性名有横线的地方都去掉横线,变为小驼峰命名法
       

3、绑定元素:

单个元素:xx.onclick=function(){
		this->xx
	  }

集合:
  for(var i=0;i<elems.length;i++){
	elems[i].onclick=function(){
		this->当前元素或者当前触发事件的元素
	}
  }     
      
一切的获取的作用:往往都是用于判断
一切的设置的作用:就是修改

新知识点:

      脱字符串衣服:eval(str);
      举例:eval"3*3");   // 9
          eval("[1,2,3,4]" ) ;  // [1,2,3,4]