一、js有三种书写位置,分别为行内、内嵌和外部。
1.内嵌:写在head里
<script>
alert('hello world')
</script>
2.行内:直接写在元素内部 ①可以单行或少量js代码写在html标签 3.外部 从外部引入 不要往里写代码 ``
二、注释
1.单行注释 // ctrl+a 2.多行注释 /**/ shift+alt+a
三、javascript输入输出语句
1.alert() 浏览器弹出警示框
2.console.log() 浏览器控制台打印输出信息
3.prompt() 浏览器弹出输入框,用户可以输入
四、变量
1.声明所有类型的变量 var age
① 由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号组成 ②严格区分大小写 ③不能以数字开头 ④不能是关键字 ⑤变量名必须有意义 ⑥遵守驼峰命名法则
五、数据类型
1.简单数据类型(Number,String,Boolean,Undefined,Null)
⑴.isNaN()用来判断是否是非数字
⑵.字符串(一般用单引号,外单内双,外双内单)
⑶.转义字符 ①.\n 回车 ②.\ 斜杠 ③.’ 单引号 ④.* 双引号 ⑤.\t tab缩进 ⑦.\b 空格
⑶.检测获取字符串的长度 length ①.str.length
⑷.将字符串用加号拼接起来
⑸boolean 只有true和false
2.复杂数据类型(Object)
3.用typeof+变量 可以输出变量的数据类型
4.转换为字符串
①toString()
②String()强制转换
③用加号进行拼接(隐式转换)
5.转换为数字
①parseInt('')
②parseFloat('')
③Number(str)
④· * /利用算术运算转换为数值型
6.转换为boolean类型
空格、0、NAN、null、undefined可以转换false,其余都是true
六、函数
function 函数名(){
函数体
}
function getsum(num1,num2)
七、return
有返回参数,就返回参数 没有返回参数就返回underfined
八、arguments
1.伪数组 并不是真正意义上的数组 2.具有数组的length属性 3.按照索引的方式存储的 4.它没有真正数组的一些方法pop() push()等等
九、预解析
预解析操作:声明>函数体>赋值>调用>函数内部的变量
十、在类里面的属性(变量)不需要声明
var shuzu=[];
var obj=new Object()
obj.name='dzy'
var obj={
obj.name='dzy'
}
十一、构造函数的语法格式
构造函数名字的首字母要大写 我们构造函数不需要return 就可以返回结果
function 构造函数名(){
this.属性=值;
this.方法=function(){}
}
new 构造函数名();
十二、for…in 遍历对象
for(var k in obj){
console.log(k);
console.log(obj[k])
}
一般用k变量
十三、javas内置对象
1.math 不是一个构造函数,所以我们不需要new来调用 而是直接使用里面的属性和方法即可
max:function(){
}用来构造函数
2.math.abs('-1') 可以隐式转换
math.abs('pink') 输出NaN
十四、date
var date=new Date();
var date1=new Date('2019-10-1')
var date2=new Date(2019,10,1)比正常的少一月份
date.getfullYear() 返回当前日期的年
date.getMonth() 返回的月份小一月份
date.getDate() 返回的是 几号
date.getDay() 周一是1 周六是6 周日是0
date.getHours() 时
date.getMinutes() 分
date.getSeconds() 秒
时间显示的时候要显示出 08 08 08 这样的用三元运算符 如果大于10则不在前面加0,小于就在前面加0 4. 获得Date总的毫秒数 不是当前时间的毫秒数 而是距离1970年1月1日过了多少毫秒 console.log(date.valueOf());//就是我们距离1970年1月1日的毫秒 var date1=+new Date();// 简单写法 console.log(date.now());//H5新增的
十五、利用new Array()
var arr1=new Array();
var arr1=new Array();
var arr1=new Array(2,3);
十六、instanceof 运算符 它可以用来检测是否为数组
var arr=[];
var obj=[];
console.log(arr instanceof Array);
console.log(obj instanceof Array);
Array.isArray();
十七、添加删除数组元素的方法
push
pop
unshift 向数组开头添加一个或更多元素
shift 删除数组的第一个原始 数组长度减一
十八、数组排序
arr1.sort(function(a,b){
return a-b;按照升序排列
});
arr1.sort(function(a,b){
return b-a;按照降序排列
});
十九、数组索引
indexOf() 数组查找给定元素的第一个索引(不存在返回-1)
lastIndexOf() 在数组中的最后一个开始索引(不存在返回-1)
二十、数组转换为字符串
1.toString() 将数组转换为字符串,但是分隔符为,
2.join('分隔符') 把数组转换为字符串
3.concat 连接两个或多个数组 不影响原数组
4.slice() 数组删除splice(第几个开始,要删个数)
二十一、字符串对象
1.基本包装类型
var temp=new String('andy');
str=temp;
temp=null;
二十二、字符串的不可变
var str=new String('andy');
str=new String('red');
在重新赋值的过程中,之前得到值不会被删掉, 因为重新赋值会重新开辟存储空间,再将str指针指向这个值 注意:因为字符串不可变,所以不要大量的拼接字符串
二十三、字符串对象 根据字符返回的位置
1.str.indexOf('要查找的位置',[起始的位置])
2.charAt() 根据位置返回字符
3.charCodeAt 获取字符的ascall码
4.str[index] 获取位置的字符
5.有一个对象 判断是否有该属性 对象['属性名']
var o={
age:18
}
if(o['sex']){
console.log('里面有该属性');
}else{
console.log('没有该属性');
}
二十四、字符串操作方法
1.concat() 用于拼接两个字符串
2.substr(start,length) 从start开始取length的个数
3.slice(start,end) 从start位置开始取到end位置(end的位置取不到)
4.substr(start,end) 从start位置开始取到end位置(基本slice相同,但不接受负值)
5.replace('被替换的字符','替换为的字符') 只会替换第一个字符
6.toUpperCase() 转换为大写
7.toLowerCase() 转换为小写
二十四、WEB APIs
1.DOM
①获取元素
document.getElementByld(String) 可以获取带有ID的元素对象
②getElementsByTagName() 方法可以返回带有指定标签名的对象的集合
以伪数组的形式存储
H5新增的
③document.getElementsByClassName('类名') 根据类名返回元素对象集合
④document.querySelector('选择器'); 根据指定选择器返回第一个元素
⑤document.querySelectorAll() 根据指定选择器返回所有元素
⑥获取body元素
document.body
⑦获取html元素
document.documentElement()
2.事件基础
触发–响应机制 1.事件是有三部分组成 事件源 事件类型 事件处理程序 唐伯虎 (1)事件源 事件被触发的对象 谁 按钮 var btn=document.getElementByld(‘btn’); (2)事件类型 如何触发 什么事件 比如鼠标点击(onclick)还是鼠标经过,还是键盘按下 (3)事件处理程序 通过函数赋值的方式 完成 btn.οnclick=function(){ alert=‘点秋香’ }
onclick 鼠标点击左键触发
onmouseover 鼠标经过触发
onmouseout 鼠标离开触发
onfocus 获得鼠标焦点触发
onblur 失去鼠标焦点触发
onmousemove 鼠标移动触发
onmouseup 鼠标弹起触发
onmousedown 鼠标按下触发
3.操作元素
element.innerText 从起始位置到终止位置的内容,但它去除html标签,同时空格和换行也会去掉 element.innerHTML 从起始位置到终止位置的内容,包含html标签,保留空格和换行
表单元素修改 input.value=’’;
如果想要某个表当被禁用 不要再点击 disabled btn.disabled=true;
时间函数的调用者 this.disabled=true;
element.style=’’ 获取修改元素样式 如果样式较少 或者 功能简单的情况
复杂的情况 this.className=’’
|