JavaScript两天入门(有C语言基础)
我是在bilibili上观看,黑马教育的视频进行学习(点击此处进行跳跃)
https://www.bilibili.com/video/BV1ux411d75J?from=search&seid=14244441278864640170
建议有C语言基础的直接二倍速前150节
还推荐使用菜鸟教程(还有更多其他的课程,有自己的网页在线编译器)
为什么没有各种循环语句以及判断语句?
答:循环、判断语句与C语言基本相同,与C语言基本相同的语法不再出现
出现的均为新增的知识点以及易遗忘的
1.什么是JavaScript(JS)
百度百科:JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的
初学者注意:不同于JSP(Java Server Page)
2.引入使用方法
① 直接在script标签中使用。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
//这是我的JavaScript代码部分
</script>
</head>
</html>
② 通过script标签内的src元素进行引入
<script type="text/javascript" src="jsname.js">
//通过src将js文件进行引入
</script>
3.内容弹框
alert(msg) 浏览器弹出警示框
prompt(info) 浏览器弹出输入框,用户可以输入
console.log(msg) 浏览器控制台打印输出信息
F12开发者工具中的 控制台 或 console
4.变量
声明变量
var age = 1 定义一个名称为age的变量
5.数据类型
①数字型
Infinity 无穷大
NaN Not a number 代表一个非数字
isNaN()
这个方法用来判断非数字,如果是数字,返回false;如果非数字,返回true
②字符串型
③布尔型
true或false
④undefined和NULL
6.数据类型转换
1.转换成字符串型的三种方法
2.转换成数字型的四种方法
3.转换成布尔型的方法
Boolean()
代表空、否定的值都会转换成false,如:’’、0、NaN、null、undefined
其余都会被转换成true
7.数组
创建数组
-
利用new创建数组
-
利用数组字面量创建数组(常用)
数组相关操作
-
数组长度
-
数组冒泡排序
冒泡排序:发一系列的数据按照一定的顺序进行排列显示(从小到大或从大到小)
8.函数
什么是函数封装
函数的封装是把一个或多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口
1.声明函数
方法一 函数声明的方式
function firstfct(){
console.log('这是我的第一个函数');
}
firstfct();
方法二 表达式赋值的方式
var fun = function(){
console.log('hello world');
}
fun();
两种生命的区别:
若采用第一种声明函数的方法,函数调用放在声明前和声明后都是正确的
若采用第二种声明函数的方法,函数调用方在声明前是非法的,只能在函数声明后进行调用
因为进行了预解析
预解析:js引擎会把js里面所有的var还有function提升到当前作用域的最前面
举例进行预解析过程的说明:
console.log(num);
var num=10;
//输出的是:undefined
/*****以上代码相当于下列代码******/
var num;
console.log(num);
num=10
fun()
var fun = function(){
console.log(22);
}
/*****以上代码相当于下列代码*****/
var fun
fun()
fun = function(){
console.log(22);
}
2.arguments
arguments是每个函数独有的对象,里面存储存了所有传递过来的实参
function fn(){
for(var i=0;i<arguments.length;i++){
console.log(arguments[i]);
//arguments=[1,2,3,4,5]
}
}
fn(1,2,3,4,5)
3.全局变量和局部变量
全局变量:在函数外部定义的变量,可以随意使用
局部变量:在函数内部定义的变量,只能在函数中使用
注:JavaScript不存在块级作用域,只要不是函数内部定义的,就可以全局使用
特殊:若某一新的变量在函数内部直接赋值,而没有定义,该变量为全局变量
var num; //num为全局变量
function fun(){
var num1; //num1为局部变量
num2 = 10; //num2为全局变量
}
4.简单案例(两数求和)
function sum(x,y){
var a;
a=x+y;
return a;
}
var num1, num2 , finish;
num1 = prompt('亲输入第一个数');
num2 = prompt('请输入第二个数');
finish=sum(parseFloat(num1),parseFloat(num2));
console.log(finish)
9.对象
javascript对象分为三种:自定义对象、内置对象、浏览器对象
内置对象:Math、Data、Array、String等 点击此处查阅文档
创建对象
对象是一个具体的事物,看得见摸得着的事物
方法一
var test1={
name:'爸爸',
age:40,
sex:"男",
sayhi: function(){
console.log("hello world")
}
}
方法二
var test1 = new Object();
obj.name='爸爸';
obj.age=40;
obj.sex='男';
obj.sayhi = function(){
console.log('hello world')
}
对象使用----采用:对象名.属性名或者对象名[‘属性名’]
var test1={
name:'爸爸',
age:40,
sex:"男",
sayhi: function(){
console.log("hello world")
}
}
//对象使用的方法一:对象名.属性名
console.log(test1.name);
//对象使用的方法二:对象名:属性名
console.log(test['name']);
对象的遍历
var obj = {
name: '爸爸',
age: 40,
sex:'男'
}
for(var key in obj){
console.log(obj[key]);
}
10.构造函数
利用构造函数创建对象的过程称为对象的实例化
特点:
1.命名首字母大写,用来区分普通函数 例如:Fruit
2.不需要返回值
3.构造函数必须使用new
4.只要调用new Fruit()调用函数,就创建了一个对象
//语法格式
//function 构造函数名(){
// this.属性 = 值
// this.方法 = function(){}
//}
//new 构造函数名();
function Fruit(name, color, number){
this.id = name;
this.kind = color;
this.number = number
}
var apple = new Fruit('苹果', '红色', 20);