JavaScript基础语法

JavaScript作用

表单动态校验
网页特效
服务端开发
桌面程序
app
控制硬件-物联网
游戏开发

JavaScript组成

JavaScript语法、dom(文档对象模型)、bom(浏览器对象模型)

JavaScript输入输出语句

alert()浏览器弹出警示框
console.log()浏览器控制台打印输出信息
prompt()浏览器弹出输入框,用户可以输入,取出来的数据默认的是字符型

变量

变量:就是用于存放数据的容器。也就是程序在内存中申请一块用来存放数据的空间。
JavaScript的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的。

简单数据类型

number:数字型
Boolean:布尔值类型
string:字符型
undefined:未定义数据类型
unll:空值

数据类型转换

字符串+任何类型=拼接后的新字符串
typeof:获取变量数据类型
转换为字符串
加号拼接字符串、toString()、String()
转换为数字型
parselnt(string)函数、parseFloat(string)函数、Number()强制转换函数、js隐式转换(- * /)
转换为布尔型
Boolean()函数
代表空、否定的值会被转换为false,如’’、0、NaN、null、undefined

如果要求在一行上输出五个小星星,可以追加字符串的方式。

函数

形参、实参

在声明函数的小括号里面的是形参;在函数调用的时候小括号里面是实参(实际的参数)。
形参是接受实参的,形参类似于一个变量;
形参形式上的参数,函数定义的时候传递的参数,当前并不知道是什么;实参实际上的参数,函数调用的时候传递的参数,实参是传递给形参的。
**技巧:**我们经常用一个变量来接收函数的返回结果。

return

我们的函数如果有return,则返回的是return后面的值;如果函数没有return,则返回的是undefined。

arguments

所有函数都内置了一个arguments对象,对象中存储了传递的所有实参。
伪数组:具有数组的length属性;按照索引的方式进行存储的;它没有真正数组的一些方法;
我们可以按照数组的方式遍历arguments。

全局变量、局部变量

全局变量:如果在函数内部没有声明的变量,直接赋值的变量也属于全局变量。
局部变量:函数的形参可以看作是局部变量。

js引擎

js引擎运行js分为两步:预解析,代码执行

预解析

预解析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);} 报错:数组.html:50 Uncaught TypeError: fun is not a function
相当于执行了以下代码:
var fun; fun(); fun=function(){console.log(22);}


对象

对象是一组无序的相关属性和方法的集合。
创建对象的三种方式:

利用字面量创建对象

var obj={} 创建一个空的对象
花括号{}里面包含了表达这个具体事物的属性和方法。
(1)里面的属性或者方法采用键值对的形式
(2)方法冒号后面跟的是一个匿名函数
(3)调用对象的属性采用对象名.属性名;还能采用对象[‘属性名’]。调用对象的方法采用对象名.方法名。

变量、属性、函数、方法

(1)变量和属性都是用来存储数据的,
(2)变量单独声明并赋值,使用的时候直接写变量名,单独存在;
(3)属性 在对象里面的不需要声明的,使用的时候必须是对象名.属性**
(4)函数和方法都是实现某种功能,做某件事;
(5)函数是单独声明并且调用的 函数名()单独存在的;
(6)方法在对象里面 调用的时候 对象.方法(),方法用来描述该对象的行为和功能。

利用new Object创建对象

var obj=new Object(); 创建了一个空的对象

利用构造函数创建对象

前面两种创建对象的方式一次只能创建一个对象。
构造函数的语法格式
function 构造函数名(){ this.属性=值; this.方法=function(){} }
调用构造函数new 构造函数名();
构造函数抽象了对象的公共部分,封装到了函数里面,它泛指一大类;
利用构造函数创建对象的过程我们也称为对象的实例化。

new关键字执行过程:

(1)new构造函数可以在内存中创建了一个空的对象;
(2)this就会指向刚才创建的空对象;
(3)只从构造函数里面的代码,给这个新都西安添加属性和方法;
(4)返回这个新对象。

遍历对象

for(变量 in 对象){ }


内置对象

js语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是基本而必要的功能(属性和方法)。
常见的内置对象有math、date、array、string等
(1)Math
如果没有参数,返回-infinity;如果参数里面有非数值性的,返回NaN。
Math对象随机数方法,Math.random()
两个数之间的随机整数并且包含这两个整数
Math.floor(Math.random()*(max-min+1))+min
(2)Date
是一个构造函数,必须使用new来调用创建我们的日期对象。
(3)Array
第一是利用数组字面量;第二new Array()


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值