JavaScript学习笔记

JavaScript学习笔记

1.什么是 JavaScript

JavaScript是一种高级的、多范式、解释型的编程语言,是一门基于原型、函数先行的语言,它支持面向对象编程、命令式编程以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式,不支持I/O(比如网络、存储和图形等),但可以由它的宿主环境提供支持。它已经由ECMA(欧洲计算机制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器支持。

(强行)翻译过来就是
1.可以在网页上实现复杂的功能,交互等
2.解释型语言
3.运行在客户端
4.面向对象语言
5.和Java没关系(这句话是怎么翻译出来的)

2.Console

在浏览器按下F12打开调出开发人员工具
选择Elements旁边的Console
输入1+1,按下回车
它会显示2
神奇吧,好像可以不用再去找计算器了
还可以试试

Math.sin(Math.PI*0.5)

“hello,world”.toUpperCase()

1===1

看看会显示什么
如果想多了解一下控制台的话,不妨访问一下下面这个博客

https://blog.csdn.net/zipack/article/details/77834224?
locationNum=9&fps=1

在VScode里
在这里插入图片描述
在控制台里
在这里插入图片描述

3.变量
var name="Ginger";
console.log(name);

这里在全局作用域中定义一个叫name的变量,内容是“Ginger”

let a=1;
console.log(a*2);

定义一个叫a的块级变量,而且赋值为1

此外,也可以定义常量,方式和C语言中类似。如

const b=666;

当然,JS里还有很多和C不一样的地方,如

var x;
x="3"+"4";
console.log(x);

像这样,输出的是34,离谱
还有更离谱的

var x;
x="3"+4+5;
console.log(x);

输出345
当我们把双引号放在最后时
x=3+4+“5”;
输出为75(先算3+4,然后同上)

3.== 和 ===
console.log(123=="123");

结果为true
因为数字123会被转化为字符串形式,即"123"
这两个当然是相等的

console.log(123==="123");

结果为false
所以===:比较严格,只要类型不匹配就返回flase

这里附加一点:

布尔型的值只有两个:false(假)和true(真)。
false的序号为0,true的序号是1。

5==true
false

if(5) 1+1
2

5==false
false

if(0) 1+1
undefined

上面是在控制台的一些结果
5非零,是真,但因为布尔型的true值是1,所以5==true仍然返回了false。
嗯,只是想提醒一下不要搞混true和非零。

4.对象

对象是一个包含相关数据和方法的集合(通常由一些变量和函数组成,我们称之为对象里面的属性和方法)

1.new一个对象

var ob1 = new Object();
var ob2 = {};

ob1 = {
    name:"Ginger",
    age:"18",
    contact:{
        phone:"13591773975",
        QQ:"532015746",
    }
}

ob1.contact.wechat_name="D.K.Gang_Yee"  //这里新增了一个属性
console.log(ob1.contact.wechat_name);
// 或console.log(ob1["contact"]["wechat_name"]);

微信名“啪”地一下就打出来了。
感觉和结构体有点像?
但是远不止。上面列出的,都可以说是对象的属性,当加入成员函数,允许对象对资料做一些操作,这就是对象的方法。
用这个网址的一个例子。

https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Objects/Basics

var person = {
  name : ['Bob', 'Smith'],
  age : 32,
  gender : 'male',
  interests : ['music', 'skiing'],
  bio : function() {
    alert(this.name[0] + ' ' + this.name[1] + ' is ' + this.age + ' years old. He likes ' + this.interests[0] + ' and ' + this.interests[1] + '.');
  },
  greeting: function() {
    alert('Hi! I\'m ' + this.name[0] + '.');
  }
};

再在后面加入person.greeting(); person.bio();会弹出两个提醒

5.数组

在C语言里学过数组,但在JS里还有一些不一样的地方。

var a = new Array;
a[0]="dog";
a[1]="cat";
a[2]="pig";
for(var i=0;i<3;i++){
    console.log(a[i]);
}

如果在C里面,应该用到二维数组才可以这样表示。
但是在JS里可以直接 真·字符串的数组。
另外,JS里遍历数组有一个for in语句

for(let i in a ){
    console.log(a[i]);
}

在普通的for循环遍历数组,如果有未定义的项,会输出undefined,但如果在for in语句里 ,不会输出undefined的项。

一些关于数组的语句

a.push="monkey"; //最后一项添加
a.pop(); //删除最后一项
a.reverse();//倒序一个数组
a.shift();//删除第一项
a.unshift("tiger");//第一项前添加

(开坑,未完待续)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值