js学习过程

1. js代码写在什么位置?

a. 将js代码写在页面中

b. 导入js文件

好处很明显,只是这两者的区别是什么呢?现阶段的理解:导入的每一个js文件就是对应一个对象,这就和java中导入(import)类一样,有一点不一样的是在导入的js中可定义函数。

2. js的数据类型

a. 简单数据类型,字符串,数字,布尔,空值(null),未定义(undefined)

b. 复杂数据类型,就是js的内置对象,Array,Date等等

3. "=="和"==="的区别

简单数据类型,“==”仅仅比较值是否相同,不考虑数据类型是否相同,“===”不仅比较值,还比较数据类型

复杂数据类型,没有发现区别,两边变量的引用至同一对象,就返回true,否则false

var str1 = "23";
var str2 = 23;
console.log(str1 == str2); // true
console.log(str1 === str2); // false

var date1 = new Date("1999-09-09");
var date2 = new Date("1999-09-09");
console.log(date1 == date2); // false
console.log(date1 === date2); // false

4. valueOf()和toString()方法

js的内置方法,和java中的toString()方法,区别就是多试试就知道了。


5. 控制语句

就是简单的if,while,for,没什么可说的。


6. 函数,方法和变量

函数:可以完成固定功能的代码块;

方法:将函数指定为某一对象的动作,就叫方法;

可以认为js中没有函数,只有方法。原因是在js中写的函数,可以用window对象调用,就可以认为js中的函数就是window对象的方法,所以说js中没有函数,只有方法。

// 定义的‘函数’
function fn(){
    console.log("this is a function"); 
}

// 调用
fn();
window.fn() // 两者是一样的,所以可认为fn()函数实际就是window的方法
变量:不知道怎么说才能说明白,我只是简单理解为,变量分两种,属性变量和方法变量

// 属性变量
var a = "a";

// 方法变量
var b = function(name){
    document.write(name);
}
反正不知道怎么说明,标记一下,做个记号

var text = "this is a object";
var fn = function(){
    console.log("this is a function");
};

var obj = {
    id: 1,
    name: 'obj1',
    text: text,
    fn: fn
}
定义了三个变量,text,fn,obj。

text是属性变量,fn是方法变量,obj变量指向一个对象,对象有属性:id, name, text, fn,但fn属性的值是一个方法变量,所以我说fn是obj的方法而不是属性,既然是方法,为什么fn的赋值是 fn而不是 fn(), 这又是为什么????现在肯定整不明白,管它呢,跳过,标记,以后明白了再说。

7. js的内置对象-——Array

这个对象比较特殊,我不明白怎么会不用new就可以创建一个对象呢,我觉得说是一种特殊的数据类型更合适。

var arr = new Array('a', 'b', 'c'); // new 出来的数组对象

var arr2 = ['a', 'b', 'c']; // 这根本就不是new出来的,但效果和new一样,这明显将简单的问题复杂了

只要是对象就一定有属性和方法

属性: length

方法:多的不得了,contact(),join(),push(),pop(),forEach()(这也是方法,这东西怎么用??),indexOf(),我竟然还发现了sort()方法,我想这个sort()方法是不是可以改呀,排序总不能就一种排法的对吧,但怎么弄呢?标记,等明白了再说。

先简单的明白这些就可以了,以后专门的整一章更系统的学习Array对象。

8. js的内置对象——String

好像是我把问题想复杂了,这个String对象和Array就是一样的。只是方法不同,没什么说的。

比较头痛的是这里竟然涉及到正则表达式,看来简单问题并不是这么简单的。标记,跳过,管它正则不正则,没空搭理这麻烦的事物。

这里还涉及到一个类型转换的问题,最多的是数字转字符(很简单),字符转数字(标记,现在不管它,迟早要解决,等不得不解决在解决)。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值