JS基础部分

把元素移除视线的办法

display:none;
visibility:none
width/height:0px
opacity:0;
div设置为白色
margin:负值

属性操作

元素.属性
innerHTML
通过元素.属性修改的是行内属性;修改className修改的是类。
src与颜色值不能作为判断条件
某一个值处于动态情况下,使用[],而非.

讲到了开关,onoff

for应用

document.getElementsByTagName('li');//是动态方法,.length只能算作一个集合,不能算作数组.`

使用innerHTML的时候,为了性能考虑,先用字符串给存起来。

cssText

this

document.title

自定义属性 索引值

元素.自定义属性,js可以为任意HTML元素添加任意多个自定义属性
现在用的最多的是数组配合自定义属性来使用吧,使他们建立起来联系

/*这里有一个小例子*/
    for( var i=0; i<aBtn.length; i++ ){
        
        aBtn[i].index = i;          // 自定义属性(索引值)
        
        aBtn[i].onclick = function (){
            
            // alert( i );          // 3
            alert( this.index );
        
        };
    }
};

编程序的时候要记得分模块设计啊

数据类型,类型转换

JS中的数据类型:数字,字符串,布尔,函数,对象(obj,[],{},null)
typeof是判断数据类型

显式类型转换(强制类型转换):
Number()
parseInt()
parseFloat()

隐式类型转换
    +                               200 + '3'       变成字符串
    - * / %             '200' - 3     变成数字
    ++ --                       变成数字
    > <                         数字的比较 、字符串的比较
    !   取反                  把右边的数据类型转成布尔值
    ==

NaN not a number 表示不是数字的数字类型。
NaN和自己都不相等
isNaN();//里面会产生隐式转换

函数传参

参数是JS里的数据类型
函数加上一个括号表示立即执行

重用代码:
1.尽量保证HTML代码结构一致,可以通过父级选取子元素

  1. 把核心主程序实现,用函数包起来
  2. 把不同的值通过传参实现

JS作用域

作用域解析过程
  • 预解析首先会进行
    • 找到var与function与参数,存到'仓库'里面。var会保存为undefined,function保存为字面如果var与function名字相同,则function会保存。和上下文无关
  • 函数表达式可以改变值的动作
    • 会改变预解析的值

在几个不同的<script></script>标签里面,会一块一块执行,也就是先把一块给预解析,然后进行函数表达式的执行。执行完毕之后,再执行下一块。这里是按照上下文顺序来执行的,几个<script></script>共用一个大仓库

functionjson也是作用域

参数就是一个局部变量,读取代码的时候是从参数开始读取的

要避免在if,for里面定义函数
如何那从函数外面拿到局部变量?

/*    function a(){
        alert('hello');
    }
    var a = 6;
    alert(a);*/


/*    var a =1;

    function fn1(){
        alert(a);
        var a =2;
    }
    fn1();
    alert(a);*/


/*var a =1;

function fn1(){
    alert(a);//a = 1
     a =2;// 没有声明a,所以不会执行预解析。由于a没有找到局部变量,所以出去找全局变量去啦。说明了局部变量有能力去改变外面的值
}
fn1();
alert(a);// a =2 .*/


//var a =1;
//
// function fn1(a){//这里的参数a相当于var a. 就是一个局部变量,会进行预解析
// alert(a);//a = undefined
// a =2;// 没有声明a,所以不会执行预解析。现在a是局部变量。因为变量里存在a
////     alert(a);
// }
// fn1();
// alert(a);// a =1 .




 var a =1;

 function fn1(a){
 alert(a);//a = 1
 a =2;//知识
 }
 fn1(a);//现在的a是一个全局变量.读取
 alert(a);// 2

运算符,流程控制课件

%的循环巧用

alert(12<90 &&80);//返回是80

||检查一边之后就不再检查了

alert(!!'a');变成布尔型

continuebleak

真假的问题:数据类型-数字(NaN)、字符串、布尔、函数、对象(elem、[]、{}、null)、未定义
真:非0的数字、非空字符串、true、函数、能找到的元素、[]、{}
假:0、NaN、空字符串''、false、不能找到的元素、null、未定义

/*使用switch语句*/
    var str = 'ccss';

    switch (str){
        case 'css':
            alert('你好');
            break;
        case 'html':
            alert('你好呀');
            break;
        case 'javascript':
            alert('你好呀呀');
            break;
        default:
            alert('当当当');
    }


    /*三目运算符*/
    var a=5;
    a>3?alert('大雨'):alert('小于');//否则在三目里面是一个问号

函数返回值,定时器基础

return的返回值可以是数字,字符串,布尔值,函数,对象(元素/[]/{}/null)与未定义

函数默认的返回值是returnreturn完,后面的代码都不会执行了

alert( typeof fn1() );,表示调用函数,type of的是 return后的 结果

fn()()是调用函数的函数

有关于实参与形参。实参的集合是arguments[],它是一个类数组。//参数无法确定的时候可以使用~

获取元素的样式
elem.style.attr//行内样式
this.style.cssText = 'width:300px';
getComputedStyle(elem).attr;//IE6,7,8不兼容
elem.currentStyle.attr;//标准浏览器不兼容 - -!
定时器:
setInterval(function,time);
clearInterval(timer);

setTimeout(function,time);
clearTimeout( timer );
定时器如果是由用户来控制,先清除掉上一个定时器。

定时器里可以塞定时器

监听器有一个重要的地方:即使清除了监听器,还是会把这一轮给执行完。清除的是下一轮监听器,并不会立刻清除

定时器管理&函数封装

定时器可以是自定义属性

clearInterval都有一个好脾气.undefined和null不会报错

回调函数:当函数执行完之后,就执行回调函数

if(endFn){
endFn();
}

endFn&&endFn();

日期对象,网页时钟课件

向上取整与向下取整
系统时间,图片时间,倒计时

字符串方法课件

str.length
--
str.charCodeAt()
String.fromCharCode(22937, 21619)~[48,57]是数字。a-z -> 97-122~
--
str.charAt()
str.charCodeAt()
--
str.indexOf()
str.lastIndexOf()
--
'1000' < '2' // true
'1000' > 2 // true
--
str.substring(first,end)//第二个不写默认是尾巴。大小颠倒会自动颠倒过来。
str.slice( first, end )//不修改原数组。没有上面的智能
str.toUpperCase()
str.toLowerCase()
str.split(separator,howmany)//把字符串切割为数组.不改变原字符串
array.join('')

数组课件

var json = { name : 'leo', age : 32 };名字是字符串类型,是一种比较安全的格式

josn = ['name':数据类型,'name':数据类型];

数组里面可以塞json

expe[0]['a']

for-in循环

arr.push();
arr.unshift();
arr.shift();//删除头部
arr.pop();//删除尾巴
arr.splice();// 删除、替换、添加
arr.sort(function ( a, b ) { return a - b; });//sort排序
concat()//连接数组
arr.reverse()//颠倒顺序

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,108评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,699评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,812评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,236评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,583评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,739评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,957评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,704评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,447评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,643评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,133评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,486评论 3 256
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,151评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,889评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,782评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,681评论 2 272

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,059评论 0 13
  • 一、Math数学对象 1.Math对象,针对于数字。 2.Math.random() 取[0,1)之间的浮点数。 ...
    空谷悠阅读 480评论 0 2
  • 喜欢写作,喜欢这种文字通过心灵,到达笔尖再充斥在纸上的感觉,慢慢将把自己所做发在简书上,收到喜欢和评论时,内心泛起...
    然格格阅读 398评论 1 10
  • 6 小杆村人不多。彼此都熟,也藏不住秘密。 大家对新来的那个秀才样灵白保持神秘感,小心翼翼地探测他的来历和身份。 ...
    念佛是谁照顾话头阅读 287评论 0 2