<!DOCTYPE html>
<html lang="en">
<head>
        <meta charset="UTF-8">
        <title>Document</title>
</head>
<body>
        <script>
          一.script 的引入方式
                 1.头部引入
                 2.外部引入(可以在头部,可以在body)
                 3.body闭标签前引入(也叫作内部引入),一般写法
                js的调试方式
                        1.alert()
                        2.console.log()
                        3.document.write()

                js的数据:
                1. 常量
                2. 变量(容器)

                变量定义:
                var a = 0;
                命名规范:
                1. 由数字,字母,下划线和$组成。并且数字不能开头
                2. 不能与系统保留字同名,无二义性
                3. 变量名不能重复
                4. 见名知意,驼峰法。匈牙利命名法(一般用于元素命名)

                数据类型:
                1. number 数字
                2. string 字符串
                3. boolean 布尔
                4. none 空对象
                5. object 对象
                6. undefined 未定义
                7. NAN (not a number)
                8. [element collection]                9. [node list]                10. [object object] json
                11. float 浮点数
                12. int 整数

                类型转化:
                显示类型转换
                Number();
                string();
                a.toString();
                parseInt();
                parseFloat();

                隐形类型转换:
                + 字符串连接符

                运算符:
                1. 算术运算符  + - * / %
                2. 赋值运算符 = (拷贝)
                3. 复合运算符 += -= /= %= *= 
                 //  a += 3;
                 // // a = a + 3;

                4. 自增运算
                a++, ++a, a--, --a

                5. 条件运算符
                >, <, >=, <=,!=,===,!==

                与布尔值连用
                ==, ===  区别: 是否判断类型
                != , !== 不全等
                        
                6. 逻辑运算符(连接多个条件)
                && ,与    ||,或    !非
                &&: 一假即假
                ||: 一真即真
                !=: 真真假假

                注意短路情况
                7.三目运算符
                条件 ? 表达式1 :表达式2

                表达式: 由常量,变量和运算符组成的式子
                表达式都有返回值!!
                a = 3;

                二,分支结构
                满足某一条件,就执行某一段代码
                var a = "买一斤包子";
                if (条件) {

                };
                如果..就..否则..
                // if (true) {} else {};
                var a = 1;
                if (条件1 a < 3) {
                        }else if (条件2 a < 5) {
                                }else if (条件3 a < 8) {
        
                }...
                else {

                }

                switch..case 
                多分支结构
                case 后面的值和switch(条件)
                决定了到底走那个分支

                注意: break
                default 可以不写

                三,循环结构
                满足某一条件,就重复做某一件事
                帮助我们做重复的任务

                1. while 循环
                while(循环条件){
                        循环体;
                }
                注意:while 循环需要控制好循环增量的变化
                while 循环通常用于不知道循环次数的情况下

                2.do...while循环
                do{
                        循环体;
                }while(循环条件);
                不管满不满足条件,都会执行一次循环体中的代码

                3.for 循环
                for(循环增量初始化;循环条件;循环增量的变化){
                        循环体
                }

                4. 循环控制
                break: 跳出本层循环
                continue: 跳出本次循环

                循环嵌套:
                for (var i = 0; i < 3; i++) {
                        for (var j = 0; j < i + 1; j++) {
                                打印一个小块
                        };
                };

                四. 数组
                能够保存多个(一组)数据的变量
                var arr =  Array();
                var arr = [10,1];

                遍历:
                获取到数组中每一个元素
                循环遍历(index 下标)

                数组对象的方法
                push(): 从尾部给数组添加元素
                unshift(); 从头部给数组添加元素
                shift(); 从头部删除元素
                pop(); 从尾部删除元素

                splice(起始位置,长度,添加的元素1,元素2...);

                arr.concat(); 数组拼接
                sort(fn): 数组排序,默认ASCII排序
                reverse(): 数组倒序

                键值对
                var json1 = {a: 3, b: 5, c:"hello"};
                json1.a
                json1["a"]
                遍历:
                for(var key in json1){
                        key
                        json1[key];
                }

                五 .函数
                具有一定功能的代码段
                 从结构分类
                 1. 无参数,无返回值
                 2. 有参数,无返回值
                 3. 无参数,有返回值
                 4. 有参数,有返回值
                 function fn1(num1,num2){
                         return num1 + num 
                 从命名上分类:
                 1. 命名函数
                 2. 匿名函数
                 应用一: 事件绑定
                 应用二: 让一个变量保存函数

                 定时器
                 1. 单词定时器
                 var timer = setTimeout(fn,1000  函数,时间);
                 clearTimeout(timer);

                 2. 循环定时器
                 var timer = setInterval(fn,1000);
                 clearInterval(timer);

                 eval(string);
                 string  一定是可以执行的Js代码

                 六. 系统对象
                 1. string对象
                 var maStr = new String("hello");
                 var str = "hello";

                 str.length; 字符串长度
                 str.charAt(下标); 查询下标出的字符
                 str.searth("e"); 查询字符所在的下标,返回第一次出现的位置,如果找不到返回-1
                 str.concat(); 
                         数组拼接,也可以用于字符串
                 str.indexOf();
                         类似于search,可用于数组
                 str.lastIndexOf();
                         从后向前检索,返回首次出现的下标
                 str.split(""); 
                         通过所给的字符分割字符串,分割后生成一个数组
                 join(): 数组方法,把数组中的元素,用所给字符链接起来
                 str.substr(下标位置,范围); 
                         取子字符串
                 str.substring(开始位置,结束位置):
                 str.slice(开始位置,结束位置);数组方法
                 str.replace(string1,string2);  
                         字符串替换 把string1 替换成 string2
                 a.toSting(); 类型转化;

                 Date对象
                // 年份获取
                        var year = now.getFullYear();
//                        alert(year);
                        // 月份获取
                        // 0-11
                        var month = now.getMonth() + 1;
//                        alert(month);
                        // 天
                        var day = now.getDate();
//                        alert(day);

                        // 星期
                        var weekday = now.getDay();
//                        alert(weekday);
                        // 小时
                        // 24小时
                        var hour = now.getHours();
//                        alert(hour);
                        // 分钟
                        var mins = now.getMinutes();
//                        alert(mins);
                        // 秒
                        var second = now.getSeconds();
//                        alert(second);
                        // 毫秒
                        var millSecond = now.getMilliseconds();
//                        alert(millSecond);
        
                        // 从1970年1月1日到现在的毫秒数
                        // 时间戳
                        var time = now.getTime();
                        alert(time);
                        
                        // 获取到指定时间
                        var future = new Date(1949,9,1,8,30,60);
                        alert(future);

                        七.DOM:
                        1. 获取元素
                        document.getElementById(); 通过Id获取
                        document.getElementsByTagName(); 通过标签名获取
                        document.querySelector(); 通过css获取一个
                        document.querySelectorAll(); 通过css获取多个

                        2.oDiv。style.backgroundColor = "";
                        注意: 给属性负值时, 是字符串
                        oInput.checked

                        3. className
                        可以通过js动态改变元素的class属性

                        4. this 这个
                        通常情况下我们用于循环事件绑定,this指代被绑定的对象
        </script>
</body>
</html>

js基础笔记的更多相关文章

  1. 一份不错的vue.js基础笔记!!!!

    第一章 Vue.js是什么? Vue(法语)同view(英语) Vue.js是一套构建用户界面(view)的MVVM框架.Vue.js的核心库只关注视图层,并且非常容易学习,非常容易与其他库或已有的项 ...

  2. Vue.js基础 笔记

    Vue.js的声明: < script src = “https://unpkg.com/vue” ></ script > el:值可以是CSS选择符.HTML元素.或者是返 ...

  3. js 基础笔记三

    词法结构: 1:区分大小写 2:特殊字符的区分,unicode转义 3:注释, //  ;  /* */ ; 4 : 标识字符和保留字 数据类型: 1原始类型 数字,字符串,布尔值.特殊的原始值(nu ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. JS基础知识笔记

    2020-04-15 JS基础知识笔记 // new Boolean()传入的值与if判断一样 var test=new Boolean(); console.log(test); // false ...

  6. 两万字Vue.js基础学习笔记

    Vue.js学习笔记 目录 Vue.js学习笔记 ES6语法 1.不一样的变量声明:const和let 2.模板字符串 3.箭头函数(Arrow Functions) 4. 函数的参数默认值 5.Sp ...

  7. 【 js 基础 】【读书笔记】Javascript “继承”

    是时候写一写 “继承”了,为什么加引号,因为当你阅读完这篇文章,你会知道,说是 继承 其实是不准确的. 一.类1.传统的面向类的语言中的类:类/继承 描述了一种代码的组织结构形式.举个例子:“汽车”可 ...

  8. 两万字Vue.js基础学习笔记(二)

    Vue.js学习笔记(二) 4.模块化开发 ES6模块化的导入和导出 我们使用export指令导出了模块对外提供的接口,下面我们就可以通过import命令来加载对应的这个模块了 首先,我们需要在HTM ...

  9. js读书笔记

    js读书笔记 基本类型的基本函数总结 1. Boolean() 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 "&q ...

随机推荐

  1. 关于List泛型的强制转换

    当我们从数据库中查询出一些数据,有时返回的结果可能是List<Object>类型,而我们清楚的知道它的准确类型是List<User>,可能我们想直接的去进行类型的转换,你可能会 ...

  2. OAF_架构MVC系列3 - View的概述(概念)

    2014-06-18 Created By BaoXinjian

  3. POJ2226 Muddy Fields 二分匹配 最小顶点覆盖 好题

    在一个n*m的草地上,.代表草地,*代表水,现在要用宽度为1,长度不限的木板盖住水, 木板可以重叠,但是所有的草地都不能被木板覆盖. 问至少需要的木板数. 这类题的建图方法: 把矩阵作为一个二分图,以 ...

  4. JDBC中的PreparedStatement-防止SQL注入攻击

    在JDBC对数据库进行操作的时候,SQL注入是一种常见的针对数据库的注入攻击方式.如下面的代码所演示,在我们的提交字段中掺入了SQL语句,会使得程序的登录校验失效: package org.lyk.m ...

  5. grunt构建前端自动化的开发环境

    废话不多说.直奔主题. 1.安装node. 别问为什么.如果你不知道,说了你还是不知道. 别问怎么安装,自己去百度. 2.安装grunt_CLI. 安装完node,并且安装成功了,后.下载grunt_ ...

  6. mysql 如何用root 登录

    mysql -uroot -p 如果没有密码,按两下回车就进去了

  7. DELPHI下的SOCK编程(转)

    DELPHI下的SOCK编程      本文是写给公司新来的程序员的,算是一点培训的教材.本文不会涉及太多的编程细节,只是简单讲解在DELPHI下进行Winsock编程最好了解的知识. 题外话:我认为 ...

  8. [SQL]获取所有数据库名、获取数据库中表名、获取表中的字段名

    --()获取所有数据库名: Select Name FROM Master..SysDatabases order by Name --()获取所有表名 --XType=''U'':表示所有用户表; ...

  9. nyoj 102 次方求摸 快速幂

    点击打开链接 次方求模 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 求a的b次方对c取余的值 输入 第一行输入一个整数n表示测试数据的组数(n<100) 每组测 ...

  10. (medium)LeetCode 233.Number of Digit One

    Given an integer n, count the total number of digit 1 appearing in all non-negative integers less th ...