JS基础(9)

设置样式:

设置多个样式
setStyle(obj,json);

只设置一个样式
setStyle(obj,name,value)

function setStyle() {
    // arguments 实参的参数数组
    var obj = arguments[0];
    if (arguments.length == 2) {
        // 设置多个
        var json = arguments[1];
        for (var name in json) {
            obj.style[name] = json[name];
        }
    } else if (arguments.length == 3) {
        // 设置一个样式
        var name = arguments[1];
        var value = arguments[2];
        obj.style[name] = value;
    }
}

JS小特性:

预解析:预先解析一些东西

变量的定义,函数的定义 会预解析

预解析的作用范围:
只会在本作用域范围之内
a). 函数
b). script

面试题:

引用:跟对象打交道,只有对象之间才有引用

对象(oDate,oDiv,json,arr...) 指的是同一个东西

 var json = {a:1,b:2};
 var json2 = json;

 json2.a = 101;

console.log(json); // {a :101 ,b:2}

字符串其他的东西:

var str = 'abcdef';
str.charAt(索引值);

str.charCodeAt(索引值); -> 字母对应的编码

计算机的编码(16进制编码)
0x4e00 -> 一
0x9fa5 -> 龥 yu

String.fromCharCode(编码); -> 对应的字母(词)

统一编码:
unicode

utf-8/16/32
gb2312

\u4e00 一
\u9fa5 龥 yu

求字节长度 ?
字节
M
K
B bytes

跟编码有关系:
UTF-8 -> 一个汉字对应3个字节
gb2312 -> 一个汉字对应2个字节
求字节长度函数:
getByLen(str);
getByLen(str,type);

in:

判断json里面有没有某一个属性?
var json = {a:1, b:2};
'xxx' in json 
    true: 存在
    false:不存在

全局的东西属于window

异常:

异常捕获
try {
    // js
} catch(ex){
    // 补救的代码
    // 错误提示信息
}

获取异常信息:
    ex.message
用处:
    a). 救急 屏蔽错误信息
    b). 替代 if 

try{}catch(ex){} 尽量少用,性能略低

定义变量:

var a = 12;
a = 12;

var a = 1;
var b = 1;
var c = 1;
var d = 1;

var a = b = c = d = 1; 连等    ×

关于定义变量:
    a). 定义变量不带var 会变成全局的
    b). 在函数里面定义变量使用连等,第一个变量是局部变量,从第二个以后都是全局的变量

逗号:

var arr = [1,2,3];
var json = {a:1,b:2,c:3};

, 可以作为运算符使用
var a = (12);

*** 逗号运算符一最后一个为准
      if (1,0,'abc',NaN) {
        alert('真');
    } else {
        alert('假');
    }
      //假

严格模式:

告诉浏览器严格检查你的代码

开启一个严格模式:
    'use strict'
    好处:
    a). 定义变量不带var报错
    b). 在if while for 定义一个函数

    作用范围:
        a). 冲不出script标签
        b). 作用于函数内
        c). 作用于js文件

建议大家以后js文件最好加上严格模式   

你可能感兴趣的:(JS基础(9))