js的基础知识与应用(二)


JS的基础应用

       传参:

                 1.   (一个参数) 声明:function 名字(参数){

                                  //code

                                  //参数

                   }

                  调用:名字(参数)

               2.   (多个参数) 声明:function 名字(参数1,参数2){

                                  //code

                                 //参数1,参数2

                  }

                 调用:名字(参数1,参数2)

  标示符和表达式:

              .  标示符

              [] 表达式

              只要 . 能干的  [] 都能干

             .只能操作已有属性

              undefind  未定义

数据类型:

                Number    123

                String    '123'  只要加单引号就是字符串

字符串和变量:

                var  a='123';

                      a是变量  '123'是字符串

 window.onload:

          写js

                   1.window.onload

                   2.获取元素

                   3.加事件....

获取一组元素:

                   document.getElementsByTagName('标签')

数组(Array):

                   [1,2,3,4,5]

                   length:数组的个数  从1开始

                  下标: 从0开始

this:

                  谁触发的事件  this就是谁

循环:

               自增:

               i=i+1;

               i+=1;

               i++;

 while(条件){

//code

}

for(初始值;条件;自增){

//code

}

自定义属性  高级浏览器第一遍 过滤掉

web分离  样式  结构  行为

字符号拼接 :两个单引号 两个加号 加号里写 i


=================================================

选项卡封装:

               index  索引

操作表单元素:

               获取:元素.value

               设置:元素.value='值';

操作非表单元素:

               获取:元素.innerHTML

              设置:元素.innerHTML='内容';      内容可以是任何东西(包括标签)

document.write  页面输出内容

字符串连接:

             **字符串不能换行

              1.换行可以  加号 拼起来

              2. \  每换行尾部加

              3. ``引号 直接加    第一个ES6的语法

              ()提高优先级  (this.index+1)

秘诀:两个单引号 两个加号 里面放变量

字符串和数字相加  会变成字符串  字符串不会运算

调试:

              工具:F12

              alert()

              console.log()

              快捷键:ctrl+shift+j

               FF(firefox) :安装一个 firebug(重新刷新)

               IE:打开错误的调试的工具

               工具--Internet选项--高级--禁用脚本本调试(其它)

数据类型:

基本数据类型(不可分)

                string  字符串

                number    数字

                boolean        布尔值

                undefined        未定义

                object  对象(可分的)  object里面可以包数组也可以包对象

               function        函数 ?有争议

               global  ** ES6  顶层对象

typeof  检测数据类型

undefined什么时候会出现?

               1.变量声明了,但是没有赋值.

               2.访问一个不存在的属性.

               3.当参数没有值

字符串转成数字

              显式类型转换:  强制类型转换

                      parseInt(字符串)  把字符串转变成整数      '12.5px'  12            

                      parseFloat(字符串)  把字符串转变成小数(浮点数)        '12.5px'  12.5

                      Number(字符串) 把字符串转变成数字  比较严格。      '12.5px'  非数字是NaN


 isNaN(x) 函数用于检查其参数是否是非数字值。

                如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值)返回的值就是 true。

                如果 x 是其他值,则返回 false。

隐式转换:

                 -  *  /  % ==  ><    隐式转换,尽量别用。

                alert('10'*2)  ('10'+2)    加号 做了字符串 拼接



====================================================

事件:

              onmouseover

              onmouseout

              onclick

              onchange  select的value 改变的时候用    99%

 select里面的option的value怎么获取

              option的value=oS.value

作用域:

            局部变量:只能在函数内部使用

            全局变量:在哪里都能使用

            闭包:子函数可以去使用父函数局部变量(如果函数内部的变量和全局同名  不会覆盖)

匈牙利命名法:前面有类型前缀后面跟单词首字母大写

          **必须要遵守

          o object  oBtn 一个对象

          a array aBtn 多个东西

          **可以遵守

          i int iNum 整数

          s string sName 字符串

          b boolean bOk 布尔值

流程控制语句:

           if..else..

           switch(条件){

                    case 情况1: 语句

                    break;

                   case 情况2:

                   break;

         }

break  打断执行  后面代码不执行

continue  跳过本次执行

return:返回值

            1.可以返回任何东西

            2.阻断后面代码执行

            3.没有返回值 返回undefined

简写:      条件&&语句1

        if(条件){

                语句1

         }

       条件?语句1:语句2;  (三目运算符)

             if(条件){

                      语句1

             }else{

                     语句2

             }


什么是真

             true  非空对象 非0数字 非空字符串

什么是假

             false 0 '' null undefined NaN

获取行间样式 :obj.style.xxx

获取非行间样式(生效的样式)

              obj.currentStyle.样式名        IE (低级浏览器)

              getComputedStyle(obj,false).样式名  IE9+ chrome FF    (高级浏览器)

              false 是兼容老版本火狐浏览器

处理兼容  if...else{}

              if(obj.currentStyle){

                              obj.currentStyle.样式名

              }else{

                             getComputedStyle(obj,false).样式名

              }

未定义的属性undefind

未定义的函数报错

                    function getStyle(obj.sName){

                                return

                      obj.currentStyle?obj.currentStyle[sName]:getComputedStyle(obj,false)[sName];

                    }



=======================================================

随机数

                Math.random()  0-1的随机数不包括

范围随机数

                parseInt(Math.random()*(m-n))+n

eval:注入攻击

               eval把字符串解析成js能理解的程序

运算符:

                算术运算:+ - * /

                莫  %  取余

赋值运算符

                = += -= *= /= %=

比较运算符

               > < >= <=

               == !=

               === 全等

               !== 不全等

= 赋值

== 判断是否相等,只要值一样就ok

=== 判断是否全等,值要一样,类型也要一样。

逻辑运算符

             && 与(并且) 两边的条件必须都满足才算真的。

             || 或(或者) 两边的条件满足一个就是真的。

             ! 非(取反)

双色球:

          arr.push  往数组里面添加

          1 随机1-34

          2.不重复

          3.6个

不重复:找数组里面的重复的  找到返回true 找不到返回false

                 补0:  return n<10?'0'+n:''+n;

定时器:

              setInterval(函数,时间)

                       setInterval(function(){JS代码},时间)

时间:毫秒    1000    1s

***只要用定时器 一定要先关 再开

setTimeout(函数名字,时间)  只执行一次

clearTimeout(函数名字)

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

推荐阅读更多精彩内容