JS总结

1、JavaScript 写在哪里
  • head部分:用于声明变量、函数、类型,为事件绑定处理函数
  • body分布:调用脚步执行
  • 外部脚步:用于定义函数、类型
    • 将代码封装到一个扩展名为js的文件中,然后再需要的地方引用,完成一次定义,多出引用的效果,简化了代码维护
    • 在文件中不需要写标签
2、基本语法
  • 大小写敏感
  • 弱类型语言: var value = 1;
  • 分号结尾
  • 注释(单行// ctrl + /、多行/* */、方法/** */)
fun1()
/**
* 方法一
* @param {*} param1 这是参数一
*/
function fun1(param1){
}
字符串既可以使用单引号,也可以使用双引号
 
2.1、数据类型
  • 因为JavaScript为弱类型语言,故声明变量只需要使用 var 关键字即可声明任何类型
  • 虽然 var关键字 即可声明任何类型,但是JavaScript 仍有数据类型
    • boolean 布尔
    • number 数字
    • string 字符串
    • Undefined 未定义
    • Null 空对象
    • Object 对象类型
    • Undefined 类型和Null类型都是只有一个值得数据类型,值分别为undefined 与null
  • 查看变量类型可以使用 typeof 方法
2.2 集合
  • 数组:[....]
    • var array1 = new Array(1); //赋值长度没有意义
    • var array2 = new Array(1);
    • var array3 = [];

上面三种赋值

var array = [1, 2, 3, 4, 5, 6]
 
  • 键值对:[键:值;...]
var kv ={};
var KeyValues = {"key1":"value1", "key2":"value2",....}
// 赋值
kv["a"] = "A";
kv["b"] = "B";
kv.c = "C";
kv.d = "D";
注意:键 不加"" js对象, 加"" jion格式的对象
  • Array 对象属性
length 设置或返回数组中元素的数目
  • Array 对象方法
    • concat() 连接两个或更多的数组,并返回结果  // 不会改变原有数组
    • join() 把数组中的所有元素放入一个字符串,元素通过指定的分隔符进行分隔 // 返回一个字符串,默认逗号连接
    • push() 向数组的末尾添加一个或更多元素,并返回新的长度 // 返回一个长度
    • reverse() 颠倒数组中元素的顺序  
    • sort() 对数组的元素进行排序
    • splice() 删除元素,并向数组添加新元素
    • //array3.splice(2, 2, [56, 12]) 从下标为2开始删除两个元素,然后添加元素[56, 12]
    • array3.splice(2); 删除下标2开始后面的所有
    • array3.splice(0, 0, 1); 往开头添加1
  • 类型转换
    • parseInt("6789"); // 字符串转换为整数
    • parseFloat("6789.06"); // 字符串转换为浮点数
2.3 方法使用
使用关键字function定义方法
方法名使用驼峰命名法
方法可以设置参数及返回值
 
function myfunction(param1, param2) {
return param1 + param2;
}

 

2.4 匿名方法
匿名方法可以简单理解成 不需要写方法名称的方法
var fun = function(p1) {
alert(p1);
}
fun(2);

 

(function(p1) {
alert(p1);
})(1);
 
3、闭包
目前可以简单理解成子方法可以使用父方法的变量即可(不建议使用闭包,变量不易释放)
 
4、DOM
  • DOM即 Document Object Model
  • Dom用于操作html文档,准备的说是操作html标签的内容
  • JavaScript中将每一个标签当做对象处理
  • 在HTML中,每个标签都用欧自己的属性,比如 style id class等,也拥有事件、方法,同样在is中作为对象处理的标签也拥有 属性、事件、方法等成员
  • 操作DOM对象,一般使用document 关键字调用
4.1、js获取元素的方法
  • document.getElementById();根据id获取元素节点
  • document.getElementsByClassName();根据class的值 获取一组元素节点
  • document.getElementsByName(); 根据name获取一组元素节点
  • document.getElementsByTagName(); 根据标签名称获得一组元素节点
  • <div id="dv1" class="dv">我是dv1</div>
  • <div id="dv2" class="dv">我是dv2</div>
  • <div id="dv3" class="dv">我是dv3</div>
  • <div id="dv4" class="dv">我是dv4</div>
  • console.log(document.getElementById("dv1"));
  • console.log(document.getElementsByClassName("dv"));
  • console.log(document.getElementsByName(""));
  • console.log(document.getElementsByTagName("div"));
4.2、注册事件
事件注册常用的方式有多种,常用的方法有两种,一种为直接在元素上注册事件,另一种在获取的对象上注册触发事件
 
(1)元素上注册事件
<input type="text" name="" id="text1" value="11" onclick="clickMe()"> // 方法后面的()
<input type="button" value="按钮" onclick="clickMe()">
<script>        
function clickMe() {
//通过点击目标获取对象,在通过对象获取属性
alert(event.target.value);
console.log(event.target.value);
}</script>
(2)对象注册法
<input type="text" name="" id="txt1" value="11">
<script>
document.getElementById("txt1").onchange = function() {
alert(event.target.value);
}
document.firstChild; 获取第一个子元素
</script>
 
4.3 动态操作元素
  • document.createElement(); 创建元素
  • document.appendChild(); 添加子元素
  • document.insertBefore(newEl, orgEl); 在元素前添加元素
  • document.firstChild; 获取第一个子元素
  • document.childNodes; 获取所有子节点元素 
  • document.removeChild(); 移除指定子节点元素
4.4 获取元素内容
  • innerHTML 用于获取与赋值拥有开闭标签的元素中全部的内容
  • innerText 用于获取与赋值拥有开闭标签的元素中文字部分的内容
4.5 操作样式
操作style属性
style属性可以设置或返回样式
style 设置css特征值时,需要把特征的短横线命名法 改为驼峰命名法 后使用
5、BOM
  • BOM即Browser Object Model
  • BOM用于操作浏览器行为
  • 操作BOM对象,一般使用Window 关键字
5.1、常用方法
  • alert():弹出提示对话框
  • confirm():弹出确认对话框,返回bool值类型
  • window.close();关闭浏览器
  • prompt(): 弹出用户输入对话框,返回输入的内容,如果取消则返回null
  • setInterval(code, milliseconds):计时器方法可按照指定的周期(以毫秒计)来调用函数或计算表达式
    • code:需要执行的代码
    • milliseconds:执行代码的周期
    • 方法会不停的调动函数,直到 clearInterval() 被调用或窗口被关闭,由setInterval() 返回的计时器,ID 值可用作 clearInterval() 方法参数
  • setTimeout(code, milliseconds):一次性计时器方法用于在指定的毫秒数后调用函数或计算表达式
    • code:需要执行的代码
    • milliseconds:执行代码的周期
    • clearInterval() 方法来阻止函数的执行,由setInterval() 返回的计时器 ID 值可用作 clearInterval() 方法参数
  • location 浏览器地址栏对象
    • hash 返回一个URL的锚部分
    • host 返回一个URL的主机和端口
    • hostname 返回URL的主机名
    • href 返回完整的URL
    • pathname 返回的URL路径名
    • port 返回一个URL服务器使用的端口号
    • protcol 返回一个URL协议
    • search 返回一个URL的查询部分
  • onload 页面加载完成后调用
 
      
 
原文地址:https://www.cnblogs.com/fuyouqiang/p/14681684.html