JavaScript入门笔记

目录

  • 基础知识
  • 数据类型
  • 操作符和表达式
  • 语句
  • 函数
  • 数组与字符串
  • 定时器
  • 数学对象
  • 时间与日期
  • DOM文档对象模型
  • BOM浏览器对象模型
  • 事件流

1> 基本知识

三大组成部分:

1) ECMAScript,提供核心语言
2) DOM 文档数据类型 提供访问和操作网页内容的方法和接口
3) BOM 浏览器数据类型 提供与浏览器交互的方法和接口

引入
<script src=””></script>
  • alert()系统弹出框 阻断程序运行
  • console.log() 控制台输出 用于调试程序 报错信息的收集
  • document.write() 打印到页面

2> 数据类型

5种基本数据类型:

undefined —— 未定义类型
null —— 空类型
boolean —— 布尔类型
number —— 数值型
string —— 字符串类型

1种复杂数据类型:

object —— 对象类型

Typeof类型:

undefined —— 如果这个值未定义;
boolean —— 如果这个值是布尔值;
number—— 如果这个值是数值;
string —— 如果这个值是字符串;
object —— 如果这个值是对象或null;
function —— 如果这个值是函数。

3> 操作符和表达式

1) 一元操作符(单目操作符)
  • ++是递增操作符,--是递减操作符
  • i++ 先赋值 后自加 i-- 先赋值 后自减
  • ++i 先自加 再赋值 --i 先自减 再赋值
  • 乘法操作符 / 除法操作符 % 取余操作符
2) 布尔操作符
  • &&(与):找第一个为false的值并返回
  • ||(或):找第一个为true的值并返回
  • (非):取反

&&(与)和||(非)中,如果有一个操作数是null,则返回null;如果有一个操作数是NaN,则返回NaN;如果有一个操作数是undefined,则返回undefined

语句

1)If语句:
If(){
  }else if{
  }else
2)swichi语句:
swich(a){
    case 满足条件:
      满足条件,执行;
    break;      
    case 满足条件:
      满足条件,执行;  
      break;
    default:        
      都不满足执行;
}
3) for语句:
for(start;end;step){
        循环体;
      } 
4) for in 语句:
for (var 变量 in 对象){
        循环体
    }
6) while语句
7) do……while语句
8) break以及continue

5> 函数

1)函数声明
function fn(){ }
2)函数表达式
var fn = function (){};

两者区别:函数声明有函数声明提升的过程

6> 数组与字符串

1) 创建方式
//数组
var arr = new Array();
var arr = [ ];
//字符串
var str = new String();
var str = “ ”;
2) 属性
console.log($.length)  // 返回值为长度
3)数组转字符串方法
$.toString( )
$.join( )  // 数组转字符串
3) 栈方法和队列方法
// 栈方法
$.push():将任意参数添加到数组末尾   // 返回值为新数组的长度
$.pop( ):将数组末尾的参数删除  //返回值为被删除项
// 队列方法
$.unshift():将任意参数添加到数组开头 // 返回值为新数组的长度
$.shift():将数组开头的参数删除 // 返回值为被删除项
4) 重排序和操作方法
$.reverse(): 翻转数组  // 返回值为翻转后的新数组
$.sort(): 排序
$.sort(function(a,b)){
        Return a-b 升序
        Return b-a 降序
}
$.concat():拼接两个或几个数组 // 返回值为新数组
$.slice():提取数组中的某个部分 // 返回值为被提取项
$.splice():添加、删除、替换
$.indexOf():通过元素找下标 // 返回值为该元素首次出现的索引值
5) 迭代方法
$.some():数组中任何一个值为true,就返回true
$.every():数组中每一项为true,才返回true

内容很多是不是有点困了...


thing.jpg

7> 定时器

<h1 id='names'></h1>
  <script>
    var names = document.getElementById('names');
    console.log(names);
    var arr = ['三国演义', '红楼梦', '西游记',"水浒传","白夜行","放课后","解忧杂货店","东野圭吾","百年孤独"];
    var timer = null;
    timer = setInterval(function () {
      var num = Math.floor(Math.random() * arr.length);
      names.innerHTML = arr[num];
    }, 50)
    setTimeout(function () {
      clearInterval(timer);
      timer = null;
}, 5000)

8> 数学对象

1) 属性
$.Math.min()  //最小值
$.Math.max()    //最大值
2) 舍入方法
$.Math.ceil()   //向上舍入
$.Math.floor()  // 向下舍入
$.Math.round()  //标准舍入(四舍五入)
3) 随机数
$.Math.random()
4) 封装一个方法:随机生成n到m的随机数。
        function random(n,m){
            return Math.floor(Math.random()*(m-n+1) + n);
        }

9> 时间与日期

倒计时案例:

Html:
<h3 id="downtime"></h3>
Css:
span {
            display: inline-block;
            color: #fff;
            width: 30px;
            height: 30px;
            background-color: #000;
            text-align: center;
            line-height: 30px;
            font-size: 15px;
        }
Js:
   var timedown = document.getElementById("downtime")
   function djs(year, mo, day) {
   var nowtime = new Date();
    var futuretime = new Date(year, mo, day);
    var shicha = futuretime - nowtime;
            var tian = Math.floor(shicha / 1000 / 60 / 60 / 24);
            var hour = Math.floor(shicha / 1000 / 60 / 60 % 24);
            var minutes = Math.floor(shicha / 1000 / 60 % 60);
            var secend = Math.floor(shicha / 1000 % 60);
            var all = `<span>${tian}</span> 天 <span>${hour}</span>时 <span>${minutes}</span>分 <span>${secend}</span>秒`
            return all;
        }
        var tim = null;
        tim = setInterval(function () {
            timedown.innerHTML = djs(2019, 9, 1);
        }, 0)

10 >DOM文档对象模型

etElementById() 获取特定ID元素的节点

getElementsByTagName() 获取相同元素的节点列表

getElementsByClassName()[0] 获取Class名称元素的节点

getElementsByName() 获取相同名称的节点列表

getAttribute() 取特定元素节点属性的值

setAttribute() 设置特定元素节点属性的值

removeAttribute() 移除特定元素节点属性

$.innerHTML 写入页面

获取元素的节点前面需要加document

11> BOM 浏览器对象模型

对话框
var tak = confirm("请点击确定或取消")
alert(tak)

点击确定返回值为true
点击取消返回值为false

12> 事件流

事件分类:

事件冒泡由最深处的元素开始接受,逐层向上传递。
事件捕捉由最外围的节点开始接受,逐层传递到最具体元素。

事件类型:

所有事件类型的处理都由 on + 事件名称 组成。

1) 鼠标事件

click :单击鼠标时触发
dblclick :双击鼠标时触发
mouseover:鼠标滑入时触发
mouseout:滑出时元素时触发
mousemove:鼠标在元素上移动式触发

2) 键盘事件

keydown:按下键盘任意键时触发,如果按着不放会重复触发
keyup:释放键盘上按键时触发
keypress:按下键盘某个字符键时触发,如果按着不放会重复触发

3) HTML事件

load:当页面所有内容加载完成后,在整个页面之上触发
unload:当页面所有内容卸载后触发
focus:获取焦点时触发
blur:失去焦点时触发

本人新建的公众号,有兴趣的小可爱可以关注一下子嗷qaq

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