JS总结笔记(一)

一、JavaScript简介

JavaScript是用来制作web页面交互效果,提升用户体验的语言。

1.1 JavaScript 和 ECMAScript的关系

ECMAScript是一种由Ecma国际前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association,制定的标准。

JavaScript是由公司开发而成的,公司开发而成的一定是有一些问题,不便于其他的公司拓展和使用。所以欧洲的这个ECMA的组织,牵头制定JavaScript的标准,取名为ECMAScript。

简单来说ECMAScript不是一门语言,而是一个标准。符合这个标准的比较常见的有:JavaScript、Action Script(Flash中用的语言)。就是说,你JavaScript学完了,Flash中的程序也会写了。

1.2 JavaScript的发展历史

2003年之前,JavaScript被认为“牛皮癣”,用来制作页面上的广告,弹窗、漂浮的广告。什么东西让人烦,什么东西就是JavaScript开发的。所以浏览器就推出了屏蔽广告功能。

2004年JavaScript命运开始改变了,那一年谷歌公司,开始带头使用Ajax技术了,Ajax技术就是JavaScript的一个应用。并且,那时候人们逐渐开始提升用户体验了。

例子:搜索框的智能感应拓展词条功能,注册时的Ajax验证功能。

2007年乔布斯发布了iPhone,这一年开始,用户就多了上网的途径,就是用移动设备上网。

JavaScript在移动页面中,也是不可或缺的并且这一年,互联网开始标准化,按照W3C规则三层分离,人们越来越重视JavaScript了。

2010年的时候,人们更加了解HTML5技术了,HTML5推出了一个东西叫做Canvas(画布),工程师可以在Canvas上进行游戏制作,利用的就是JavaScript。

2011年,Node.js诞生,使JavaScript能够开发服务器程序了。

1.3 JavaScript是前台语言,而不是后台语言

JavaScript运行在客户的电脑里面,而不是服务器上,所以我们称为“前台语言”。JavaScript就是一个简单的制作页面效果的语言,不能操作数据库。就是服务于页面的交互效果、美化、绚丽。“后台语言”是运行在服务器上的,比如PHP、ASP、JSP等等,这些语言都能够操作数据库,都能够对数据库进行“增删改查”操作。(Node.js除外)。

二、基本使用

2.1 注释

单行注释: //xxx      快捷键ctrl+/

多行注释 /* xxx  */   快捷键ctrl+shift+/

2.2 直接量

“直接量”也称为“字面量”,就是看见什么,它就是什么。简单的直接量有2种:数字、字符串。

2.3 变量

var就是英语“variant”变量的缩写

只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。

变量的类型:

2.3.1 数值型  

typeof 表示某变量的类型

JavaScript种,只要是个数,那么就是数值型的,无论整浮、无论大小、无论正负,都是number类型的

2.3.2 字符串型

2.4.1 用户的输入

var a = prompt("hint"); //接收用户输入进来的字符串

2.4.2 类型转换

parseInt("5");

parseInt带有自动净化功能

parseInt("666啦啦啦啦999"); //只保留最开头的数字666

parseInt(5.8);  //取整且不四舍五入打印5

2.5 布尔型

 var a=true;

2.6 关系运算符

>     大于号

<     小于号

>= 大于或等于

<=  小于或等于

== 等于

=== 全等于

!=    不等于

!== 不全等于  (全等于取反)

2.7 逻辑运算符

逻辑运算符有三个:

&& 与(且)

||      或

!      非

三、算法练习

3.1 报7游戏的地雷数

游戏玩儿法就是,大家轮流报数,如果报到能被7整除的数字,或者尾数是7的数字,都算踩地雷了。就应该罚唱歌。请在控制台输出1~60之间的所有“地雷数”。

<script type="text/javascript">

for(i=1;i<=60;i++){

            if (i%7==0||i%10==7) {

            console.log(i);

            }

}

</script>

3.2 水仙花数

水仙花数是一种特殊的三位数,它的特点就是,每个数位的立方和,等于它本身。

for(var i = 100 ; i <= 999 ; i++){

//得到这个i的每一个位

var baiwei = parseInt(i / 100);

var shiwei = parseInt(i % 100 / 10);

var gewei = i % 10;

//验证是否符合水仙花数的特点

if(Math.pow(baiwei,3) +  Math.pow(shiwei,3) + Math.pow(gewei,3) == i){

console.log(i);

}

}

3.3 用户输入一个数,输出因数的个数

用户输入一个数,输出所偶遇能够整除它的数字。

比如,

用户输入48,此时输出1、2、3、4、6、8、12、16、24、48 。  共10个数字。

//用户输入一个数字

var num = parseInt(prompt("请输入数字"));

// 找因数

// 比如用户输入48,要从1~48,分别让48除以这个数

// 穷举法

var amount = 0; //个数,累加器

for(var i = 1 ; i <= num ; i++){

if(num % i == 0){

// console.log(i); //不想输出

amount++; //自增1

}

}

//循环语句结束之后,总量就已经产生了,弹出结果:

alert(amount);

四、函数

4.1 语法:

4.1.1 自定义函数

function fun(){

         alert("我是自定义函数")

}

fun();  // 函数不调用,自己不执行

4.1.2 函数直接量声明

var fun1 = function(){

       alert("直接量声明")

}

fun1();  也需要调用

4.1.3  利用Function关键字声明(基本不常用)

var fun2 = new Function("var a = 10; var b = 20; alert(a+b)");

fun2();

4.2 调用语法:

函数名字();

4.3 参数

function xxx(a,b){ //形式参数,表示需要接受一个值

}
调用时:  xxx(100,"lalala");  //实际参数,真实的数值,字符串

实际参数和形式参数的个数要相同。

4.4 返回值

console.log(qiuhe(3,4));

function qiuhe(a,b){

         return a+b;

}

五、事件三要素

1 事件源

要触发的对象/发起者

2 事件

怎么触发的这个事情,例如鼠标单击、经过、按键盘等

3 事件处理程序

发生了什么事情

事件源.事件= function(){  事件处理函数 }

六、小知识点

1 隐藏样式

 Display: none           display: block ;  

 Visibility: hidden;       visibility: visible;

 Display 隐藏不占位置

 Visibility:hidden 隐藏占有位置(停职留薪)

 Overflow:hidden;   隐藏超出的部分。

2 入口函数

window.onload = function(){

        内部放js

  }

这个函数的意思就是说,当我们页面加载完毕之后,采取执行函数体里面的js部分。  就是说等页面的结构样式  节点等加载完毕。。。

所以,这句话也可以页面的顶端即可。

3 Padding

内边距  会影响盒子大小  

行内元素   尽量不用 上下的padding和margin 

继承的宽度 padding不会挤开 。

4 JS的书写位置

4.1 行内式

<button onclick="alert('你好吗')">点击我</button>

4.2 内嵌式

 <script type="text/javascript">  </script> //任何一个地方

4.3 外链式

<script type=”text/javascript” src=”xx.js”></script> //标记之间不能写任何东西 会报错

5 数据类型

 Js的数据类型分为: 字符型     数值型  布尔型   null   undefined   Js是一种弱数据类型。

5.1 字符型 

转换为字符型:  

1.利用“”  (双引号)

2. 利用String();  转换为字符型

5.2 布尔型

数据类型转换为布尔型:

  1.利用!!  

   console.log(typeof !!num);

 2.利用Boolean() 

false、undefined 、null、0、””  为 false  

true、1、”somestring”、[Object]  为 true

5.3 数值型

数值的前面带  0  表示八进制 

 Var num = 020;  // 0*80+2*81  = 16 

 数值的前面带  0x  表示十六进制

  var result = 0xb;   // 11 

 转换为数值型:

  1.利用-  *  /都可以转换

  2  利用Number( ) 

parseInt(110,2)     //表示2进制        把10 这个2进制转换为 10进制   0*20+1*21  + 1*22   = 6 

5.4 Null undefined

Null  空的       没有值。

Undefined  未定义的    应该有值,但是没有给。

Null        “” 

5.5 变量提升

var a = 18;

f1();

function f1(){

    var b=9;

    console.log(a);

    console.log(b);

     var a = '123';

}

// 输出: undefined 9

5.6 判断用户输入事件

正常浏览器  :    oninput 

Ie 678 支持的  :onpropertychange  

mouseover事件跟mouseenter事件的区别:

mouseover/mouseout事件,鼠标经过的时候会触发多次,每遇到一个子元素就会触发一次。

mouseenter/mouseleave事件,鼠标经过的时候只会触发一次

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

推荐阅读更多精彩内容