概念
javascripts简称js,是一种面向客户端浏览器的脚本语言 特点:
-
1、五六年什么编辑器都可以编辑 -
2、解释型 -
3、弱类型 -
4、面向对象 5、可以做css完成不了的效果 -
使用方式:2种 -
<script></script> -
<script src=""></script> 检查错误的方式有三种: 一,console.log()直接输出再控制台查看有无错误 二,document.write;但是有一个缺点:平时无所谓,缺点: 不能绑定点击事件,不然页面上所有的内容全部替换掉 三,alert缺点: 有时会卡住导致用户无法观看到内容
变量和常量
变量创建后用户可以再次修改
创建变量:
var 变量=“”; 1、变量名其实不是随意的 1、不能以数字开头 2、建议使用驼峰命名法或下划线 3、命名要尽量的见名知意
创建常量:
常量创建后不能再修改
数据类型两类
1原始类型
1、*Number - 数字,取值无限, 2、*String - 字符串,取值无限个,后面要加上“”,’‘ 3、*Boolean - 布尔,取值只有2个,分别叫做true 和 false 4、Null - 空,取值只有一个,就是null, 5、Undefined 没有的意思
运算符
1算术运算符:
-
-
- / %
-
2带有隐式转换的运算符
看不见的地方会将数据类型转换,他会让左右两边都转为数字,再运算
+运算符:
再后面加上个+=是拼接操作(一般是转换不了才用这个操作)
关系/比较运算符:>,<,>=,<=
一般出现分支结构之中,满足什么条件走那条 他的结果一定是给bool值 带有隐式转换:默认左右两边都会悄悄的转为数字在比较大小
逻辑运算符:
&&:与 全部满足,为true 只要一个不满足,为false
||:或者 全部不满足,结果才为false 只要一个满足,结果就为true
!:颠倒布尔值 !true->false !false->true 赋值运算符:=,+=,-=,*=,/=,%= 1、=:赋值符号,就是将右边的东西赋值保存到右边
自增自减运算符:
++ 自增:固定的每次只能+1
分支结构:
3种方式:
1、顺序结构 - 从上向下依次执行每一句话
2、分支结构 - 判断条件,哪些代码能执行哪些不能代码执行
3、循环结构 - 判断条件,需要或者不需要一直执行代码
三种方式使用:
- if循环:if(){}或者if(){}else
- switch...case循环:switch(){case,操作,break}
- 三目运算:简化难度不高的分支结构:操作只能用一句话来做
强制(显示)数据类型转换:
1、转字符串:2种
var str=x.toString() var str=String(x);这个可以将任何东西都转换为字符串
转数字:3种
parseInt(str) - parse,从左边到右边,碰到不认识的就会停止转换 parseFloat(str) - parse,可以将小数点也转换 Number(x);和隐式转换一样的效果
循环结构:
执行相同或者相似的操作
三要素:
循环条件 循环体 循环操作
循环方式:
for循环:for(var 变量=....){
循环体
} var 循环变量=“” while循环:while(){ 循环体 循环量的变化 }
自定义函数Function
提前预定义好的一个可以反复使用的代码段 声明方式 function 函数名(形参){ 函数体; return 返回值; }
直接量方式 var 函数名=function(形参){ 函数体; return 返回值; } 调用函数:var result=函数名(实参);
作用域:
2种方式
全局作用域:在页面的任何一个位置都可以访问 函数作用域:只能在函数调用时,内部可用
DOM:
Document Object Model:
文档对象模型,用来操作HTML文档
概念:
DOM将我们的HTML看做了是一个倒挂的树状结构,但是树根不是HTML标签,而是document对象
查找元素:两大方面:
1、通过 ID 去查找元素: var elem=document.getElementById("id"); 通过 标签名 去查找元素 var elems=document.getElementsByTagName("标签的名字"); 通过 class名 去查找元素 var elems=document.getElementsByClassName("class的名字"); JS只能直接操作元素,不可以直接操作集合 解决方法:要么下标拿到某一个,要么遍历拿到所有人
通过 元素之间的关系 去查找元素:
至少要先找到一个元素才可以使用关系网,不然找不到
操作元素
innerHTML- 获取内容。支持识别标签的 获取:elem.innerHTML; 设置:elem.innerHTML=""; innertext- 获取文本内容不支持识别标签 获取:elem.innerText; 设置:elem.innerText=""; value - 专门用于input的 获取:input.value; 设置:input.value="新值";