JavaScript权威指南--基础篇1

本文是JavaScript权威指南的基础篇,介绍了JavaScript的起源、版本,详细讲解了对象、基本类型和复合类型,包括赋值类型的差异,并通过实例解释了值类型与引用类型的区别。还涉及了typeof运算符、条件运算符、对象创建方式以及循环和分支语句等核心概念。
摘要由CSDN通过智能技术生成

JavaScript权威指南--基础篇1

知识点

1.JavaScript名字和版本

l JavaScript由网景(Netscape)公司创建,后来网景(就是现在的Mozilla哦~)把JavaScript提交给ECMA-欧洲计算机制造协会,改名为ECMAScript,再后来微软对这门语言的实现版本起了名字叫Jscript。实际上,大家都叫JavaScript,简称JS哦~

l 目前,ECMAScript发布过第3版和第5版,简称ES3和ES5。

2.对象object:键/值对的集合,言简意赅有木有~

3.JavaScript的原始类型(基本类型)有字符串string、数字number和布尔值boolean

var m = hello JavaScript”;//定义一个string类型变量

var m = 123;//定义一个number类型变量

var o = true;//定义一个boolean类型变量

4.JavaScript的复合类型有对象Object、数组Array、方法Function、日期Date、布尔Boolean、数字Number、字符串String、正则RegEXP,Math

var o = {name:"hello",age:16};//定义一个对象o

5.JavaScript还有两个空类型:null和undefined

6.赋值的时候,有两种类型:值类型和引用类型,这里要强调下两个的区别,要擦亮眼睛了。

l 值类型:数值、布尔值、null、undefined。

l 相当于重新开了一个存储空间来存储变量值,当改变原变量,新的变量不会一起改变。举个栗子,啊~真的好饿!新建一个a.txt文件,a存了值123,再复制一份a,取名为b.txt,这时候你把a文件里的值改了,b文件是不会改变的哦,不信试试~

var m = 123;
var n = m;//值传递
console.log('m='+m+",n="+n);//m=123,n=123
m = 1;
console.log('m='+m+",n="+n);//m=1,n=123

l 引用类型指对象、函数、数组这类复合类型,引用类型传递的是地址,所以改变其中一个,所有的引用都会改变。

l 这个栗子好举,首先你创建了一个a.txt文件,然后创建a文件的两个快捷方式,分别取名字叫a1和a2,这时候你改变一下a文件的值,看看a1和a2会不会一起变,答案是会变,哈哈,你不服输,那还可以改变下a1的值,再看看,你会发觉a和a2也变得和a1一样了,这就是引用类型的神奇之处~

var o = {name:"hello",age:16};
var o1 = o;//引用类型,地址引用
console.log('o.name='+o.name+",o.age="+o.age);

//o.name=hello,o.age=16
o.name = "world";
console.log('o.name='+o.name+",o.age="+o.age);

//o.name=world,o.age=16
console.log('o1.name='+o1.name+",o1.age="+o1.age);

//o1.name=world,o1.age=16

7.JavaScript中获得类型的运算符是typeof,使用该运算符返回str数据类型

var m = 123;

console.log(typeof m);//number

8.JavaScript中===和==的区别:前者判断恒等,不做类型转换,类型不同一定不相等;后者判断相等,两边值类型不同时要先进行类型转换再比较

9.JavaScript中in运算符的作用:测试属性是否存在

10.JavaScript的条件运算符是:?:

11.JavaScript中创建对象使用关键字new、对象直接量和(ECMAScript 5中的)Object.create()函数来创建

l 用对象直接量,对象直接量是键值对的映射,是一个表达式哦,如下花括号表达式:

var o1 = {//创建一个对象
    name:"hello",
    age:16,
    skills:{
        language:"JavaScript",
        tool:"test"
    }
};

对象直接量在每一次调用都会创建并初始化一个新的对象,所以创建时要注意了

l 用new关键字定义

var o2 = new Object();//创建一个空对象

l 用Object.create()函数,函数第一个参数是这个对象的原型

var o3 = Object.create({x:1,y:2});//o3继承了属性x和y

12.JavaScript中的逻辑中断(短路操作):逻辑或和逻辑与。

l 逻辑或:||

语法:表达式1||表达式2

如果第一个表达式的值为真:返回表达式1,如果第一个表达式的值为假:返回表达式2

function fn(num1) {
            num1 = num1 || 1;
            console.log(num1);
        }
// 如果不穿参数,num1的值:undefined
        fn
();         // 1
        fn
(123);    // 123

l 逻辑与:&&

语法:表达式1&&表达式2

如果第一个表达式的值为真:则返回表达式2

如果第一个表达式的值为假:则返回表达式1

11.JavaScript中delete运算符的作用是删除对象的属性,注意了, delete只是断开宿主对象与属性的联系,而不会去操作属性中的属性,look下面这个栗子:

var m = {p:{x:1}};
n=m.p;
delete m.p;
console.log(m);//Object {}
console.log(n);//Object {x: 1}x依然存在呢~

语法:boolean delete 数据

用法: ①删除数组中的一个元素

var arr = [1, 2, 3, 4];
console.log( arr );             // [1, 2, 3, 4]
console.log( delete arr[2] );   // true,删除成功
console.log( arr );             // [1, 2, undefined, 4]

②删除一个对象的属性或方法

③删除一个没有用var声明的变量

var m = 123;
n=333;
delete m;
delete n;
console.log(m);//123,删不掉这个m啦~记住就好
console.log(n);//n is not defined

12.JavaScript中循环语句有4种,分别是while、do/while、for、for/in

13.JavaScript中分支语句有两种,分别是if/else语句和switch语句

14.JavaScript中跳转语句break和continue如何使用?Break是跳出当前循环体,continue是跳出当前一层循环,继续进行下一次循环。

小结:初来乍到,有些概念理解不到位的地方还望指正~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值