js内容回顾

1. 内容回顾
    JavaScript语法基础
        1. 引入方式
            1. 在script标签中直接写
            2. 写在单独的JS文件中,经过script标签的src属性来导入
        2. 变量
            1. 命名规则: 字母\数字\下划线和$组成,数字不能开头
            2. 声明变量: 要用var 关键字
            3. 动态类型: 同一个变量能够保存不一样类型的数据
        3. 数据类型
            1. 数字类型(number类型)
                1. 100
                2. 11.11
                3. NaN(not a number)
            2. 字符串类型(string类型)
                1. 内置的属性和方法
                    .length
                    
                    ...
                parseInt("100")     --> 获得number类型的100
                parseFloat("11.11") --> 获得number类型的11.11
            3. 布尔类型(boolean类型)
                true和false
                
                ""\0\null\undefined\NaN都是假
            4. 数组(array)
                ["alex", 18]
                经常使用属性和方法
                
                数组的遍历:
                    for (var i=0;i<a.length;i++){
                        console.log(i, a[i]);
                    }
            5. null和undefined
                null: 表示值为空,多在手动清空一个变量的时候使用
                undefined: 声明了一个变量可是没有给它赋值时,它就是undefined
                
                函数没有返回值的话默认返回的是undefined
                
                (卫生纸的例子)
            6. typeof 判断变量类型
                typeof "123"     --> string
                typeof 123       --> number
                typeof true      --> boolean
                
                typeof null      --> object
                typeof undefined --> undefined
                
                typeof [11, 33]  --> object
                
            7. 运算符
                算术运算符  +-*/ ++ -- % 
                逻辑运算符  && || !
                比较运算符  > >= < <= == != === !==
                    null == undefined  --> true
                    null === undefined --> false
                赋值运算符 = -= += *= /=
                
            8. 流程控制
                1. if else
                2. if(){...}else if(){...}else{...}
                3. while(){...}
                4. switch (today){
                    case 1:
                    ...
                    break;
                    case 2:
                    ...
                    break;
                    default:
                    ...
                }
                5. for (条件){...}
                6. 三运运算
                    var x = 10;
                    var y = 20;
                    var a = x>y?x:y           Python中:a = x if x > y else y
            9. 函数
                1. 三种定义方式
                    1. function func(a,b){...}
                    2. var sum = function (a,b){...}
                    3. (function(a,b){...})(10, 20)
                2. 函数的传参没有限制
                    在函数体内部经过arguments对象
                    arguments.length
                3. 全局变量和局部变量
                    函数体内部定义的是局部变量,函数执行完以后就销毁(删除)
                    所有变量在窗口关闭以后销毁(删除)
                
                4. 做用域
                    函数执行的时候必定要回头看函数的定义阶段
                5. 词法分析(了解便可)
                    在真正执行代码以前,会先进行词法分析!!!
                    词法分析会生成一个AO对象!!!
                    三条规则:
                        1. 看有没有函数参数
                        2. 看有没有局部变量声明
                        3. 看有没有函数声明
    2. 面试题:
        
                
    3. 内置对象和方法
        1. 内置对象介绍
        2. Date对象
            1. 如何建立一个Date对象
            2. Date对象的经常使用方法
        3. RegExp
            注意三个坑
        4. Math
            跟数学相关的方法
            
    4. JS
        1. JS语法基础
        2. BOM        --> 操做浏览器
        
            window对象
                location.href                        --> 获取当前的网址
                location.href="http://www.sogo.com"  --> 跳转到指定的网址
                location.reload()                    --> 从新加载当前页
            
            多少毫秒以后执行
                var t = setTimeout(f,5000)
                clearTimeOut(t)
                
            每隔多少毫秒以后执行
                var t = setInterval(f,5000)
                clearInterval(t)
            
            
        3. DOM        --> 操做文档(HTML\CSS)
                
                
3. 做业:
        1. 整理今日课上内容的博客(笔记)
        2. CSS小米商城的做业继续写
        3. 预习DOM内容:http://www.cnblogs.com/liwenzhou/p/8011504.htmlhtml

 

课上截图:面试

1     字符串的俩种写法:就是图中的两个方法正则表达式

js内置方法介绍:json

 

js自定义对象:数组

便利对象中内容:(同Python字典相似)浏览器

 

json类型之间的互相转化。dom

var str1 = '{"name": "Alex", "age": 18}';
var obj1 = {"name": "Alex", "age": 18};
// JSON字符串转换成对象
var obj = JSON.parse(str1); 
// 对象转换成JSON字符串
var str = JSON.stringify(obj1);

 

js正则表达式:函数


//RegExp对象测试

//建立正则对象方式1
// 参数1 正则表达式(不能有空格)
// 参数2 匹配模式:经常使用g(全局匹配;找到全部匹配,而不是在第一个匹配后中止)和i(忽略大小写)htm

// 用户名只能是英文字母、数字和_,而且首字母必须是英文字母。长度最短不能少于6位 最长不能超过12位。

// 建立RegExp对象方式(逗号后面不要加空格)
var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,11}$");

// 匹配响应的字符串
var s1 = "bc123";

//RegExp对象的test方法,测试一个字符串是否符合对应的正则规则,返回值是true或false。
reg1.test(s1);  // true

// 建立方式2
// /填写正则表达式/匹配模式(逗号后面不要加空格)
var reg2 = /^[a-zA-Z][a-zA-Z0-9_]{5,11}$/;

reg2.test(s1);  // true


// String对象与正则结合的4个方法
var s2 = "hello world";

s2.match(/o/g);         // ["o", "o"]             查找字符串中 符合正则 的内容
s2.search(/h/g);        // 0                      查找字符串中符合正则表达式的内容位置
s2.split(/o/g);         // ["hell", " w", "rld"]  按照正则表达式对字符串进行切割
s2.replace(/o/g, "s");  // "hells wsrld"          对字符串按照正则进行替换

// 关于匹配模式:g和i的简单示例
var s1 = "name:Alex age:18";

s1.replace(/a/, "哈哈哈");      // "n哈哈哈me:Alex age:18"
s1.replace(/a/g, "哈哈哈");     // "n哈哈哈me:Alex 哈哈哈ge:18"      全局匹配
s1.replace(/a/gi, "哈哈哈");    // "n哈哈哈me:哈哈哈lex 哈哈哈ge:18"  不区分大小写


// 注意事项1:
// 若是regExpObject带有全局标志g,test()函数不是从字符串的开头开始查找,而是从属性regExpObject.lastIndex所指定的索引处开始查找。
// 该属性值默认为0,因此第一次仍然是从字符串的开头查找。
// 当找到一个匹配时,test()函数会将regExpObject.lastIndex的值改成字符串中本次匹配内容的最后一个字符的下一个索引位置。
// 当再次执行test()函数时,将会从该索引位置处开始查找,从而找到下一个匹配。
// 所以,当咱们使用test()函数执行了一次匹配以后,若是想要从新使用test()函数从头开始查找,则须要手动将regExpObject.lastIndex的值重置为 0。
// 若是test()函数再也找不到能够匹配的文本时,该函数会自动把regExpObject.lastIndex属性重置为 0。

var reg3 = /foo/g;
// 此时 regex.lastIndex=0
reg3.test('foo'); // 返回true
// 此时 regex.lastIndex=3
reg3.test('xxxfoo'); // 仍是返回true
// 因此咱们在使用test()方法校验一个字符串是否彻底匹配时,必定要加上^和$符号。

// 注意事项2(说出来你可能不信系列):
// 当咱们不加参数调用RegExpObj.test()方法时, 至关于执行RegExpObj.test("undefined"), 而且/undefined/.test()默认返回true。
var reg4 = /^undefined$/;
reg4.test(); // 返回true
reg4.test(undefined); // 返回true
reg4.test("undefined"); // 返回true

 

 

 

math 方法:

 

 

js dom 

 

 

dom 定时器:

隔一段时间执行,注意特别费内存,若是多了的话。

相关文章
相关标签/搜索