• js


    【1.js简史】
    (1)js出生于1995年,它一开始出生的目的是为了数据的验证
    (2)js的组成部分--这个有可能是面试时候的考题
    核心:(ECMAscript):描述了该语言的语法和基本对象
    文档对象模型(DOM--document object model)描述了与网页内容进行交互的对象和接口
    浏览器对象模型(BOM--borwser object model)描述了与浏览器进行交互的对象和接口

    【2.js的作用】
    1.可以控制html和css
    2.可以为网页添加动画、添加交互效果
    3.可以做数据的验证

    【3.函数(方法)】
    函数就是方法,他们两个是对同一事物的不同叫法,大家可以把他们理解为“命令”或者“功能”
    书写方法:函数名+小括号
    例:alert()

    【4.函数的参数】
    写在小括号里面的内容就是参数,如果有多个参数,他们之间用逗号来分割的,我们初学阶段,参数要用单引号括起来(注意:双引号也可以,但是强烈推荐大家使用单引号)

    【5.初学者代码书写规范-版本1】
    script标签是js的家,放在了body标签结束的后面,每写完一行代码要用英文状态下的分号结束

    【6.文档对象】
    document在js当中代表着文档对象,我们只要一提到对象就要想到它是一堆的方法(函数)的集合体
    【7.搜索功能】
    document.getElementById

    【8.变量】
    变量就是一个容器,它可以存储任何的数据,变量的目的就是为了简化代码存在(可以理解为给等号后面的数据,起了一个昵称)。
    变量的书写:
    var 名字 = 数据
    例:var ctob = document.getElementById('box01');
    命名规矩:不能用数字开头、不用使用js已经有的命名(只要颜色变成洋红色就代表命名冲突了)

    【9.控制html】
    1.控制html标签属性
    通过点语法去控制便签属性  例:box01.title = '我是js控制的';
    注意:唯一有一点不同的是控制class的时候,一定要使用className去控制
    2.控制html标签内容
    通过innerHTML 来控制 例:box01.innerHTML = '我是用js添加进来的';

    【10.事件】
    事件三要素
    1.事件源:(这个事件是加给谁的)
    2.事件的类型:(这个事件是在什么外力的驱动下发生的,例:推、按、声控)
    3.执行的命令:执行的操作或者命令。
    事件的基本结构:
    事件源.事件类型 = 匿名函数

    生活中的例子:
    我按动开关灯变亮
    空调按钮被我按动空调开启
    我推门门开启
    注意:我们在写代码的时候 要记住一点 如果一个效果可以用css去做 就一定不要用js(因为css的运行速度永远要比js要快)

    【11.匿名函数】
    function(){ 执行命令 }

    【12初学者书写格式版本2】
    script来放置js代码,并且把script标签放在body标签的最后,用变量把需要操作的元素保存起来,下一步按照事件的基本步骤来写js代码

    【13事件类型】
    1.onclick      鼠标单击事件
    2.ondblclick   鼠标双击事件
    3.onmouseover  鼠标移上事件
    4.onmouseout   鼠标移出事件

    【14js的书写位置】
    1.内嵌js 
    例:
    <script type="text/javascript">
        alert('哈哈哈');
    </script>

    2.外链js
    例:
    <script type="text/javascript" src="js.js">外链js的这个位置不能写东西!</script>

    3.行内js
    例:
    <div onclick="alert('我是行内的');">我是行内的js</div>   

    注意:执行顺序是由上至下的,但是事件例外;

    【1.数据】
    html .avi psd jpg js png

    1.数值型
    number 例: 1 2 123 456.771

    2.字符串型
    string 例:'呵呵' '哈哈' ‘123’
    注意:字符串类型的相加操作 相当于做了一件连接起来的操作
    例: '呵呵' + '123'  ‘呵呵123’

    3.布尔型
    boolean  只有两个值 true、false

    4.对象型
    object 它是一种复杂数据类型 默认值是null 表示空

    5.未定义
    undefined 代表是的未定义 只有一个值 就是它自己

    【2.数据类型检测】
    typeof() 来检测数据类型

    用法:
    var num1 = '123';
    typeof(num1)
    只有这样写才会给我们返回5大数据类型中的一个
    【3.数据类型转换】
    字符串转数字类型 parseInt
    使用方法:
    var num1 = '123';   
    num1 = parseInt(num1);//我们写parseInt(num1)相当于在草稿纸上进行了计算,我们的计算结果必须要放回到试卷上,所以必须把parseInt(num1)再等于回num1

    【4.用js在页面中写代码】
    使用方法:
    document.write('<h1>写想要让浏览器看的代码</h1>');
    书写规范:只要遇到了符号 我们最好给他们前后都加上空格,方便看代码,使得代码看起更加的整洁

    【5.关于什么是程序】
    一堆数据和处理数据的指令
    数据+指令=程序
    注意:只要是执行的命令都是object对象类型;

    【6.自定义函数】
    到目前为止我们学习了两个js的关键字 var function

    自定义函数的结构:
    function fn(){}

    function 叫做定义自定义函数的关键字
    fn       自定义函数的名字
    ()       参数集
    {}       函数体

    如何调用:函数名+小括号 以后大家只要见到类似 alert() 这样的结构 就要想到 它是在调用这个方法(函数)

    注意:js语法规定 在自定义方法中 不用var就可以声明变量 一般来说这个名字用param来命名 简写是par。我们调用自定义方法的时候有几参数,在自定义方法的小括号中就要有几个参数,他们是11对应的关系。

    【1.条件判断语句】
    单项判断:
    结构 if(){}
    if表示如果 小括号表示判断的条件 大括号里面写要执行的命令

    双向判断:
    结构:if(){代码段1}else{代码段2}
    如果条件成立那么执行代码段1,否则执行代码段2

    多项判断:
    if(判断条件1){代码段1}else if(判断条件2){代码段2}else if(判断条件3){代码段3}.....else{前面的条件都不成立的情况下,才执行else的代码,可以理解为默认状态}

    【2.比较运算符】
    大于   >
    小于   <
    等于   ==
    不等于 !=
    注意:所有的比较运算符都会返回一个值,要么是true,要么是false
    【3.逻辑运算符】
    或     ||    两个条件只要满足其中一个是true,那么判断结果就是真,两个条件都是true,结果也是true

    且     &&    两个条件必须都是true,结果才是true,只要有一个是false,那么结果就是false

    非     !     在js中感叹号代表取反,也就是说 之前是true,加上叹号之后就是false

    isNaN() 判断是不是一个非数字的值  如果返回值是true 代表输入是一个非数字的值 如果返回的是false 代表输入的是一个数字

    【4.失去焦点获取焦点】
    onfocus    获取焦点
    onblur     失去焦点 

    【5.循环语句】

    生活中:循环都有那些?
    一天: 早中晚
    手表:转一圈
    太阳:每天都东升西落

    人的一生也是一个循环,由此引申出js的三个必要的量
    人出生      0岁                循环的初始值
    人的寿命    100岁              循环的次数
    人要成长    每过一年长一岁     循环的增量   

    循环的作用:
    利用循环的三个条件来设置代码运行多少遍;
    注意:在程序当中,只要涉及到群体控制,就要用到for循环

    结构:for(var i = 0; i < x.length; i++){
        要循环的代码
        }
    为什么要使用for循环:为了简化代码量
    使用for循环的初衷:给计算机一个样例,让它帮我们去做重复性的操作,这才是我们编程的初衷

    【6.通过标签名字去获取页面元素】

    书写格式:document.getElementsByTagName('div')
    命名行规:如果获取的元素的是多个  那么保存变量的时候名字要加一个a
    例:var aDiv = document.getElementsByTagName('div');

    如何获取集合当中元素的个数?
    aDiv.length

    【1.数组】
    定义:数组就是容器,里面的元素师按照编号来排列的
    []  这个符号是数组的符号 代表着编号集
    注意:数组是对象类型的(object)

    基本结构:
    var a数组名字 = [];
    例: var aName = ['张三','李四','王五'。。。。。];
    注意:数组中的每一个值之间用逗号分隔

    push()
    用法: aName.push('张飞')   在数组的最后部分添加数据

    【2.数学对象】
    数学对象:Math 这里面包含了所有关于数学的方法和属性
    生成0到1之间随机数字:Math.random()
    如果想生成0到4之间的随机数字(有小数): Math.random() * 4
    如果想生成0到4之间的随机整数:parseInt(Math.random() * 4)
    注意:parseInt() 向下取整  所以上面那个例子生成的数字可能是 0 1 2 3

    【3.定时器】
    定时器有两种:
    1.单次定时器 : setTimeout(function(){执行的代码},时间)
    例:setTimeout(function(){},3000);    这个3000代表的是3000毫秒,他和秒之间的换算是1:1000

    2.循环多次定时器:setInterval(function(){执行的代码},时间)
    例: setInterval(function(){},3000);   3000代表3秒

    循环定时器的书写步骤:
    var timer = null;//先定义一个变量 来存储定时器 (因为我们一会需要 清除定时器)
    按照多次定时器的书写格式去写代码
    点击停止定时器的时候 要执行一句  clearInterval(写我们之前定义定时器的变量)
    注意:在最后停止定时器的地方 可以加一句代码 : timer = null;
    这件话的意思是调用js的垃圾回收机制,也就是说告诉我们的浏览器,这个定时器变量肯定是不使用了,请帮我彻底的删除掉;

    【4.动画定时器的开启步骤】
    1.定义两个变量 timer用来存储定时器 num 用来存储初始值
    var timer = null; var num = 0;

    2.用事件去开启多次循环定时器:
    在开启定时器之前要清除掉之前的定时器
    clearInterval(timer);
    timer = setInterval(function(){
    num += 3;
    控制代码
    },30);
    说明:
    1.30是最小的时间间隔 
    2.num+=3 就等于 num = num +3
    3.如果想让一个元素left值变化,那么必须这个元素是定位元素才可以

    【5.window.onload】
    我们的js代码理论上可以写在任意的位置,但是在工作当中一般是写在head里面的,这时候我们就务必要给代码加上一个事件,window.onload 才能执行里面的代码

    书写规范(版本3):
    先在head里面写script标签,然后写window.onload = function(){ 这里再写代码  } 后面步骤一样

    【6.关于this】
    在我们当前阶段,可以理解为事件源就是this,在循环事件当中this代表着用户要操作的那个标签;

    【7.index】
    这个index是我们人为加上去的 相当于给每一个元素都加上了一个自定义的标签属性

    【8.排他性思想】
    在程序当中一但遇到了只允许自己怎么样,不允许其他人怎么样的操作,就要想到排他性思想;
    注意:排他性思想有一个关键的书写步骤 一定要先排他人,再控制自己,排他性思想往往会用到for循环

    【9.缩小搜索范围】
    一般来说我们不会在页面上通过标签名称去搜索,因为范围太大了,我们可以利用给想要找寻的元素找个“父亲”,也就是说找到了这个父亲之后,再通过标签名字去找寻元素,就可以缩小搜索的范围。
    var myDiv = document.getElementById('myDiv');
    var aLi = myDiv.getElementsByTagName('li');

  • 相关阅读:
    Python自制小时钟,并转换为exe可执行程序详解
    Linux下搭建jmeter
    adb server is out of date. killing完美解决
    Python通过百度Ai识别图片中的文字
    robotframework在3.7下的搭建
    VIVO 手机重力传感器踩坑记录
    GPU 实现 RGB -- YUV 转换 (OpenGL)
    iOS UImage 与 RGB 裸数据的相互转换
    CVPixelBuffer的创建 数据填充 以及数据读取
    glReadPixel 读取数据错误问题
  • 原文地址:https://www.cnblogs.com/lifushan/p/6493348.html
Copyright © 2020-2023  润新知