修改属性 元素.style.样式=值     document.getElementById('box').style.width='200px';

属性操作方式
 1、. 的
 元素.属性名
如果属性是单一属性,用点操作符是取不到的,而且还会报错:点操作属性的时候,后面只能跟真正的属性名称,不能跟变量名
 如果想用点操作符去获取带横杠的属性,那首先要把横杠去掉,然后把横杠后面的第一个字母大写
 2、[] 的
如果属性中带横杠,用[]的方式去操作属性:[]操作属性的时候,里面可以放属性名称与变量名,如果放的时属性名,那要加引号,如果放的是变量名,那不需要加引号

属性 :元素身上所具有的一些特征

1、系统自带的属性
* type、id、style、value、src
2、自己添加的属性 btn.kaivon='名字';
* 自定义属性,系统当中是没有的,我们自己添加的
* 系统自带的属性,满足不了我们的需求,给一个自己添加的属性

inputs[i].index=i; //给每个按钮添加一个自定义属性,存的是它们对应的索引值

表单的值:元素.value

获取属性class:用元素.className

获取到是一个标签对里的所有内容(包括子标签对):元素,innerHTML

地址:href(连接的地址) 和src(图片的地址):href与src取到的是绝对地址,不是属性里的值;切记不要拿href与src取到的值去做判断

如果元素没有加载完,js获取的对象就为null     所以ji代码要放在window.onload=function(){}

 函数的定义

function 函数名(参数){
   //在这里就可以使用这个参数
   //这里放的就是要重复利用的代码
 }

函数调用  函数名(参数);

函数表达式:

var 变量=function(参数){

要执行的代码
}

函数表达式调用:   变量(参数)

 匿名函数 没有名字的函数
 
* 匿名函数不能直接声明,会报错
*
* 匿名函数怎么用
* 当匿名函数是以被赋值的形式所出现,并且它是被事件调用
 事件 window.onload      赋值 =
事件=匿名函数
window.onload=function (){
       alert(1);
}

break:停止剩下的所有循环

continue:停止本次循环

return:返回,让函数停止执行,它只能用在函数内

函数参数: 函数外面传到函数里面的数据,从而函数里面能使用这个数据;多个的话就用逗号隔开

arguments对象:代表了所有的实参集合(类数组)   这个集合还有一个length,代表了实参的个数      它只能在函数内使用

函数运算结果返回值:return

有就返回return结果,并且return;后的代码不再执行,函数就此结束;没有就返回undefined;

作用域    全局变量是window下的属性,在函数外面声明

               局部变量与局部函数只能在声明它们的地方用,在其它的地方是用不到的

函数(函数声明,不是函数调用)可以嵌套的,嵌套的函数(局部函数)可以访问父函数里的内容

子对象会一级一级地向上寻找所有父对象的变量。所以,父对象的所有变量,对子对象都是可见的,反之则不成立

js会把函数或者变量提前解析一下

步骤

1、先找var 、function(函数声明)关键字以及参数

2、如果找到了var(声明的变量,参数),会给他赋一个undefined。如果找到了function,那它会把整个函数都拿过来

3、把找到的东西,放到对应的作用域的最开始的位置

4、逐行执行代码

备注:函数表达式,不会被预解析,所以只能先声明再调用,不能把调用放在声明的前面(不然就报错)

生命周期

变量或函数在相应的作用域里存在的时间

函数执行完,局部变量生命结束

页面关闭,全局变量生命结束

闭包

函数嵌套函数,子函数访问父函数的变量,就产生了一个闭包环境

闭包的作用:1、函数外可以使用函数内的局部变量和局部函数; 2、在循环当中找到对应的i的值

它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。

垃圾回收机制

变量存在内存当中的,变量在使用完以后,没有在其它的地方再使用,就会被清除,用来释放内存。垃圾回收机制会按照固定的时间,周期性的执行

字符串拼接 :+ 当加号的任意一边有一个是字符串,那它就是字符串连接的意思

* if语法
* if(判断条件){
*   当判断条件成立的时候,执行这里的代码
* }else if(判断条件1){
*     当头条条件1成立的时候,执行这里的代码
* }else if(判断条件2){
*     当判断条件2成立的时候,执行这里的代码
* }else{
* 当以上条件都不成立的时候,执行这里的代码
* }
当一个条件满足的时候,代码只会走满足条件对应的大括号里的内容。其它的都不会走

数组 length属性

document.getElementById(id名称)

querySelector(css选择器)
* 通过css选择器去获取一个元素
* 它获取到的只有一个元素,如果说有重复的,那它只取第一个
*
* 主语
* document 从整个文档里去获取元素
* 父级 从父级里去获取元素

* querySelectorAll(css的选择器)
* 通过css选择器获取到一组元素
* 它获取到的也是一组元素,它也是一个类数组
*
* 主语
* document 从整个页面中去获取一组元素
* 父级 从父级下去获取一组元素

for循环:

for(条件初始化;条件判断;条件变化){
   当条件成立的时候(true)重复执行这里的代码
}

第一步:条件初始化

第二步:条件判断

第三步:走大括号里的代码

第四步:条件变化

第二次循环:第二步、第三步、第四步

for in用来遍历对象当中的数据:

for(var 变量名 in 对象){
* 变量名 对象里的属性名(key)
* 对象[属性名] 属性名对应的值
* }

while:条件循环

* for 次数循环
* while 条件循环,它一般用在嵌套的元素,或者有嵌套的数据

* this
* 指的是当前对象
* 关键词,不能当作变量名
* 只能读,不能写。它的值只能用,不能修改
*
* 1、在函数外用
* this是指向window
* 2、在函数内使用
* 1、函数是直接被调用的
* this指向window
* 2、被事件所调用,并且是以赋值的形式出现
* this指向是,谁调用了函数,那this就指向谁
*
* 谁调用了函数,那this就指向谁

js简单数据类型:String     Number(NaN运算失败时出现,NaN不等于NaN)   Boolean    Undefined(未定义:只有undefined;声明一个变量,但没给它赋值,那它就是undefined)   Null(空: 只有null)

js复杂数据类型:Object(对象 键值对:key:value),操作:Object.属性

检测数据类型:tyleof(数据)

* 系统定义的数据类型        typeof返回的数据类型
* String                                 string
* Number                              number
* Boolean                             boolean
* Undefine                            undefined
* Null                                    object
* Object                                object

函数的typeof结果为function

从页面当中拿到的内容都是字符串

数据类型转换

js支持把任意一种数据类型转换成以下类型
* 数字
* 字符串
* 布尔值
* 对象转成这三种数据是没有意义,因为对象里面可以放任意一种数据类型

显式数据类型转换

Number(要转换的值) 把任意类型都转为数字    Undefined:NaN     Null:0    字符串:(空为0 ;纯数字为数字;不纯为NaN)、、、parseInt()   parseFloat()  :开头是空格或数字(否则就是NaN)开始找,直到遇到非数字就停止;

String(要转换的值):加上引号

Boolean(要转换的值):Undefined和Null、数字0和NaN、空字符串都是false

isNaN():检测数字  它会先把参数用Number()方法转一下 纯数字的字符串或是数据都返回false

隐式数据类型转换:在进行操作的时候,js内部把数据转换成符合操作的类型

加号两边没有字符串,那就是数学中的加法运算,会把true转成数字;有字符串的话就都转成字符串

减号的作用就是数学上的减法运算,会把两边都转成数字

数组和对象的区别:

数组表示有序数据的集合,而对象表示无序数据的集合。如果数据的顺序很重要,就用数组,否则就用对象。
 数组和对象的另一个区别是,数组的数据没有”名称”(name),对象的数据有”名称”(name)。

  1. 对象里的“名称”是唯一的,很多时候我用对象来去除重复数据。
  2.  
  3. 三元操作符

a?b:c
* 如果a的值为真,返回b,否则返回c

switch

语法
* switch(变量){
* case 值:
* 当这个值与变量的值相同的时候,才会走这里的代码
* break; 停止以下代码继续执行
* case 值:
* 当这个值与变量的值相同的时候,才会走这里的代码
* break; 停止以下代码继续执行
* case 值:
* 当这个值与变量的值相同的时候,才会走这里的代码
* break; 停止以下代码继续执行
* default:
* 当以上变量都不满足的时候,会执行这里的代码
* }

定时器:js中内置的一个方法

每隔一段时间或者延迟一段时间就执行一段指定的代码

setInterval(function(){
* 每隔一段时间就会执行这里的代码
* },时间)

setTimeou(function(){
* 当时间到达后,会执行这里的代码
* },时间);
如果函数是写在外面的,在这里调用的时候只用写函数的名字,不能加括号

定时器里的this是指向window的,因为定时器是window身上的一个方法,所以this指向window

清除定时器:clearInterval(timer);

clearInterval(定时器的返回值)

运动的原理
* 在定时器里不断的去修改元素的属性,修改完成以后再把结果重新赋给元素

* 运动的问题
* 1、如果每次的步长如果与目标值不成倍数的话,就到达不了目标值
* 解决:把判断条件改成大于等于就可以
* 2、如果用户连续点击开始按钮的话速度就会越来越快
* 原因:用户不断去点击按钮话会重复开启多个定时器,造成速度累加
* 解决:在点击的时候先把上一个定时器给它清除了

js知识点乱炖的更多相关文章

  1. [PHP知识点乱炖]四、全局变量——小偷从良记

    本章要讲的是PHP的全局变量. 这里讲个小故事: 很多年前,一个很聪明的小偷,想去偷一户人家的钱.可是他偷不到主人的钥匙,怎么办呢? 他想到了一个办法,去之前嚼了一块口香糖,口香糖的牌子是“大大泡泡糖 ...

  2. HTM CSS 笔记乱炖

    一.常用实体(字符转义) '<' == '<' '©' == '©' '>' == '>' '"' == '"' ' ' == ' ' '®' == '®' ...

  3. JS知识点整理(二)

    前言 这是对平时的一些读书笔记和理解进行整理的第二部分,第一部分请前往:JS知识点整理(一).本文包含一些易混淆.遗漏的知识点,也会配上一些例子,也许不是很完整,也许还会有点杂,但也许会有你需要的,后 ...

  4. Node.js知识点学习

    Node.js知识点学习 一.基本概念 Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台.可以说,Node.js开创了javascript模块化开发的先河,早期 ...

  5. JS知识点整理(一)

    前言 本文把平时的一些读书笔记和理解进行了整理归纳,包含一些易混淆.遗漏的知识点,也会配上一些例子,可能不是很完整,还会有点杂,但也许会有你需要的(目前先整理了一部分,笔记有点多,后续会持续更新). ...

  6. vue.js 知识点(四)

    看完了vue.js的官方文档,大概对这些知识有了那么一点的了解了,但是很多具体的运用还不太清楚,现在就总结一下,关于其中的一些知识点的运用: v-bind:  动态绑定指令,默认情况下,是给html ...

  7. fabric.js 知识点整理

    fabric.js是一个很好用的 canvas 操作插件,下面整理了一些平时项目中用到的知识点: //1: 获得画布上的所有对象: var items = canvas.getObjects(); / ...

  8. JS知识点查漏补缺

    知识点1: 判断语句中遇到NaN即为 False 只需要注意遇到False即为False即可 使用join(),toString()皆可以将数组转化为字符串 二者的相同点在于都可以转化数组为字符串 二 ...

  9. 前端必备的js知识点(转载)

    1.本文主体源自:http://www.cnblogs.com/coco1s/p/4029708.html,有兴趣的可以直接去那里看,也可以看看我整理加拓展的.2.js是一门什么样的语言及特点?    ...

随机推荐

  1. Hibernate(七)

    三套查询之HQL查询(原文再续书接上一回) where子句部分(查询过滤部分) Hibernate的where子句部分能支持的运算符,表达式.函数特别多,用法与sql语句是一样的. 常用的表达式.运算 ...

  2. 0302思考IT行业的感想

    在看完这两篇报道IT行业的报道后,可以看出IT行业在整个就业行业中是一个十分热门的行业,而且薪酬也相对较高,企业对于各种IT人才的需求很大,意味着就业的面较宽且就业的前景比较乐观.但是随之而来的问题是 ...

  3. 对小组项目alpha发布的评价

    第一组:新蜂小组 项目:俄罗斯方块 评论:看见同学玩的时候,感到加速下落时不是很灵敏,没有及成绩的功能,用户的界面仍在修正. 第二组:天天向上 项目:连连看 评论:这个游戏增加了很多好玩的功能,比如更 ...

  4. maven将依赖打入jar包

    将 依赖打入jar包,由于maven管理了所有的依赖,所以将项目的代码和依赖打成一个包对它来说是顺理成章的功能.maven的这个功能之前就用过,但这 次使用时忘了细节,只记得用maven的assemb ...

  5. LR监控tomcat服务器

    采用编写VuGen脚本访问Tomcat的Status页面的方式获取性能数据(利用了关联和lr_user_data_point函数),本质上还是使用tomcat自带的监控页面,只是将监控结果加到LR的a ...

  6. 高性能的HTTP代理 LittleProxy

    引用: https://github.com/adamfisk/LittleProxy 拦截和操纵HTTPS流量,LittleProxy使用中间人(MITM)管理器. LittleProxy的默认实现 ...

  7. BPSK相干解调和DBPSK非相干解调误码率仿真

    BPSK相干解调和DBPSK非相干解调误码率仿真 本脚本完成了BPSK和DBPSK两种不同调制方式下的误码率(DBPSK差分相干)仿真, 并和理论曲线进行了对比. 撰写人:*** 最后修改日期:201 ...

  8. 第186天:js深入理解构造函数和原型对象

    1.在典型的oop的语言中,如java,都存在类的概念,类就是对象的模板,对象就是类的实例.但在js中不存在类的概念,js不是基于类,而是通过构造函数(constructor)和原型链(propoty ...

  9. 第109天:Ajax请求GET和POST的区别

    一.Ajax请求GET和POST的区别 1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来 2.使用Get请求发送数据量小,Post请求发送数据量大 3.get请求需注意缓存 ...

  10. 【bzoj5147】casino 区间dp

    题目描述 赌城拉斯维加斯的米高梅大赌场最近推出了一种新式赌法.它的玩法是由庄家设局(所用赌具是一批五颜六色的筹码),赌徒只要交付一定数额的赌资即可入局.开赌前庄家将手中的筹码依次排开铺成一排构成一局, ...