js3-函数变量提升 顶层函数 数据类型转换 Math对象 js引入方式 数组

函数变量的提升

  • 函数内部变量提升: 函数内部使用变量, 默认情况下, 函数会把下面变量它的声明提升到函数的最上边
  • 结论: 同一作用域下, 都存在变量的提升
  • 注意: 变量的提升只会提升变量的声明, 变量的赋值没变

顶层函数(全局变量)

  • parseInt(): 截取字符串(以数字开头)的整数部分, 再转换number类型

  • parseFloat(): 从字符串中截取浮点数,并且会转换成number类型

    var a=1.2000, b=0.123456;
    console.log(a, b);   //a=1.2, b=0.123456
    
  • toFixed(x):默认返回字符串类型, 保留x位小数

    • 不支持数字字符串

数据类型转换

  • Boolean(): 转换成布尔值
  • toString(): 转换成字符串
  • String(): 强制转换成字符串null,undefined也可以
  • Number(): 面向字符串转换成数字, 把字符串传到括号里

Math对象

  • Math.pow(x, y): 返回x的 y次幂
  • Math.random(); 返回(0, 1)的随机数
  • Math.round(); 四舍五入的整数
  • Math.ceil(.6); 向上取整. ceil:天花板的意思
  • Math.floor(.6); 向下取整. floor: 地板的意思
  • Math.abs(-4); 求绝对值
  • Math.max(x, y, z); 返回最大值
  • Math.min(x, y, z); 返回最小值

js引入方式

  • 外链式 行内式 内嵌式
  • 无优先级 因为js引入默认是行内式书写 后写的会覆盖先写的

document.getElementsByTayName()通过标签名获取文档的元素们

  • 参数: 标签名 字符串
  • 返回值: 伪数组, 存储的根据标签名获取全部标签
    • 伪数组, 有些数组的功能不能用
  • 想要获取谁的标签就用点语法点谁
    • eg: 获取ul里的所有li标签: ul.getElementsByTagName('li');

事件的认识以及使用

  • 事件的三要素
    • 事件源: 事件发生在谁身上
    • 事件属性: 发生了什么
    • 事件指令: 触发事件后要做的事情
  • 应用: 当触发onmouseover事件(事件会在鼠标指针移到指定的对象时发生)时切换图片, 当触发onmouseout事件时切换回原来的照片

换肤案例

  • 搭建界面: 例如淘宝产品展示图
  • 绑定事件:
    • 1.点击事件函数封装-每张图点击事件(或者使用onmouseover事件), 切换盒子的背景图
    • 2.for循环封装-获取图片标签的数组, 每张图实现函数调用
    • 可以进一步把1.步骤封装到2.步骤里
  • 解决思路:
    • 先实现功能
    • 看下代码, 重复性使用调用 能否封装
    • 封装: 哪些代码不变, 变化的当做参数传过来
    • 验证代码是否正确, 可执行性

window.onload文档加载完成后执行

  • script标签一般放在head标签里或者放在body结束标签前
  • 如果把script代码放在head中会导致功能失效
    • 原因: 浏览器是自上而下解析文档时,遇到script标签时会停止渲染页面,直到加载,解析,执行js完成。
    • 解决方法: 把script代码放在window.onload事件中. 只要窗口加载完成, 就会触发这个方法的调用

数组

  • 定义: 数组可以存储大量的数据, 并且这些数据是按一定顺序排列
  • 格式: var arr = new Array(1,2,3);
    • 简写var arr = [1,2,3]
    • 索引: 角标, 数组默认角标从0开始.
  • 数组取某一元素值
    • 格式: 数组[索引]. arr[0]的值就是1,以此类推
  • 往数组中存值(可以是不同类型的数据)
    • 格式: 数组[索引]=44;
  • 数组的长度, 数组元素的个数
    • arr.length;
  • 数组越界问题, 获取元素超出了数组的范围
    • 否则值为undefined
  • 数组遍历结合for循环 , 案例如下:
    • 打印数组元素

        for(var i=0; i< arr.length; i++){
            console.log(arr[i]);    //分别打印出1,2,3
        }
      
    • 隔行变色

    • 全选 反选 不选

      • 界面搭建步骤

        • 获取3个按钮的标签数组, 获取全部input单选框的标签数组
        • 全选按钮点击事件中, 通过for循环设置所有input-checked属性为false. 反选则反之
        • 不选按钮点击事件中, 通过for循环将全部input-checked属性取非值
      • 代码实现

           //全选
           btn[0].onclick = function (){
               com(true);
           }
            //不选
           btn[1].onclick = function(){
               com(false);
           }
           //反选
           btn[2].onclick = function(){
              for(var i = 0; i<oinput.length; i++){
                  oinput[i].checked = !oinput[i].checked; //oinput标签数组别忘记索引
              }
           }
           //全选 不选公共函数
           function com(flag){
              for(var i = 0; i<oinput.length; i++){
                  oinput[i].checked = flag;
              }
           }
        
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,064评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,606评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,011评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,550评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,465评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,919评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,428评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,075评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,208评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,185评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,191评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,914评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,482评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,585评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,825评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,194评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,703评论 2 339