JavaScript控制语句和函数

                                             JavaScript控制语句和函数

一.第一部分

1.JavaScript-流程控制语句

(1)顺序结构:按照顺序一条一条的执行代码,从上到下.

程序中的三种基本流程结构{(2)分支结构:执行代码的是时候,可以根据条件进行选择,条件越多对应的结果越多,}

分支也就越多.例如:if...else...语句、switch语句.

(3)循环结构:用来重复不断的做一件事,for循环,while循环,do...while循环

2.JavaScript-基本数据类型与引用数据类型

(1)基本数据类型: String Number Boolean Null Undefined

(2)引用数据类型: 0bject

·

--  Js中的变量都是保存在栈中的

基本数据类型的值直接在栈内存中存储

值与值间是独立存在的,修改一个变量不会影响到其他的变量

--  对象是保存在堆内存中的,每创建一个新的对象,就会在堆内存中开辟新的空间.

而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象

引用,当其中一个通过变量修改属性时,另一个也会受到影响.

3.JavaScript-对象字面量

1.创建一个对象 如:var obj=new object();

2.使用对象字面量来创建一个对象 如: var obj=();

--使用对象字面量,可以在创建对象时,直接指定对象中的属性

--语法: {属性名1: 属性值1,属性名2: 属性值2....}

对象字面量的属性名可以加引号,也可以不加,建议不加.

如果要使用一些特殊的属性名,则必须加上引号.

例:let os = {};

console.log(typeof os);

os = {

name:"张飞",

age:19,

"123":"sejd"

}

console.log(os["123"]);

--属性名与属性值是一组键值对结构.(属性名是键,属性值是值)

--键与值之间用“:”冒号连接,对个键值对之间使用“,”逗号隔开

--如果一个属性之后没有其他的属性了,就不要写“,”逗号.

二.第二部分

1.javaScript-函数

函数function

--函数也是一个对象

--函数中可以封装一些功能(代码),在需要的使用可以执行这些功能(代码)

--函数中可以保存一些代码在需要的时候调用

--使用typeof检查一个函数对象时,会返回function

--1.使用构造函数创建一个函数对象(只要是对象都要使用new这个关键字)

var obj = new object()   (这个是创建普通对象)

var fun1 = new Function(); (这个是构造函数对象)

--2.使用函数声明创建一个函数

--3.使用函数表达式创建一个函数/匿名函数

提示: 在开发的时候不建议使用这种方式

(1)可以将要封装的代码以字符串的形式传递给构造函数

(2)封装到函数中的代码不会即可执行

(3)函数中的代码会在函数调用的时候执行

(4)当调用函数时,函数中封装的代码会按照顺序执行.

注意:调用函数:语法  函数对象();

例: var fun = new Function("console.log('搜索')") 

(可以将要封装的代码以字符串的形式传递给构造函数)

fun();  (调用构造函数.调用的时候会按照代码的顺序进行)

--使用函数声明来创建一个函数(建议使用这种方式)

语法: function 函数名([形参1,形参2......]);{//语句}

说明: [形参1,形参2.....形参N]这里的[]表示可以使用参数也可以不使用参数.

函数的调用: 函数名([实参1,实参2...]);

例:function fun()(有参数的写参数,没参数的空着  fun就是函数)

{写代码}

匿名函数:function() 使用函数表达式创建一个函数.

例:function(){} 

(像这种没有名称的,我们称为匿名函数 没有实际的意义!)

--使用函数表达式创建一个函数(让匿名函数变的有意义)

例:var bsd = function(){     (通过匿名函数进行赋值)

alert(这是一个匿名函数)

}

bsd()   //调用函数

2.JavaScript-函数的参数

定义: 定义一个用来求两个数和的函数

可以在函数的()中来指定一个或多个形参(形式参数)

多个形参之间使用“,”隔开,声明形参就相当于在函数内部声明了

对应的变量.

但并不赋值.

例:function add(a,b){

var = a+b;

console.log(add);

}

add(20,340);

-- 形参:形式的参数,a对应的是123.....

-- 实参:实际传入的数值叫做实参

例:function result(a,b,c){   //(括号中的就是形参)

console.log("a="+a);

console.log("a="+b);

console.log("a="+c);

var sum = a+b+c

console.log("sum"+sum);

}

result(123,234)           //(括号中的就是实参 实际传入的数值叫做实参)

--调用函数时解析器不会检查实参的类型,所以要注意,是否有可能会接收到

非法的参数,如果有可能则需要对参数进行类型的检查.

--调用函数时,解析器也不会对检查实参的数量

多余的参数将不会被赋值

如果实参少于形参的数据,则没有对应实参的形参将是undefined.

3.JavaScript-函数的返回值与立即执行函数

(1)函数的返回值(return)

--创建一个函数,用来计算三个数的和

--可以通过return 来返回函数的返回值

--语法:return值;

--return 后面值将会作为函数的执行结果返回,可以定义一个变量来接收函数的返回值

--在函数return后的语句都不会执行

--如果return 语句后不跟任何值,就相当于返回一个undefined

例:function sum(a,b){

var c = a+b;    (定义一个变量来接收函数的返回值)

return c;            (跟上面的变量一样)

alert("sdsd")    (return 后面的语句都不会执行)

}

var total = sum(12.45);

console.log(“返回结果==”+total);

(2)立即执行函数

--函数定义完,立即被调用,这种函数叫做立即执行函数

--立即执行函数往往只会执行一次.

例:(function(){

alert("这是一个立即执行函数");

})();

(括号表示是立即执行函数.该例子是一个匿名函数,在外围给一个括号便可以使用)

(function(a,b){

alert("这是一个立即执行函数");

})(12,23);          (放入参数也一样,跟参数一样的写法)

--匿名函数有什么作用呢?(在封装一些插件的时候也可以看到匿名函数的写法)

4.JavaScript-方法

--函数也可以作为对象的属性,如果一个函数作为一个对象的属性的保存

那么我们称这个函数是这个对象的方法,调用函数就所调用对象的方法.

但是它只是名称上的区别没有其他的区别.

--通过对象去调用,我们叫做方法的调用

例:var obj = new object();

obj.name = "zhangsan";

obj.age = 23;

obj.sayWorld = function(){

alert("hello every! my name is"+obj.name);

};

obj.sayWorld();  (通过对象去调用的函数,我们叫做方法)

--直接调用函数,我们叫做函数的调用

例:fucntion sayHello(){

alert("hello every!");

}

sayHello();   (这个叫做函数的调用)

5.JavaScript-枚举对象中的属性(快速获取对象的属性,属性值)

--枚举对象中的属性

--使用for...in语句

--for in语法: for(var 变量 in 对象)

--这里推荐使用[]的方式进行输出,不推荐使用“.”的方式,使用“.”的方式会输出"undefined". 因为在声明变量的时候,它不会当做变量,而会当做其中一个属性去获取。

例:var bsd = {

name:"小名",

age:13,

aas:"数"

};

console.log(bsd.name);

for(var bod in bsd){     (使用for..in语句获取对象的属性.先声明一个变量,然后接入对象的属性名)

console.log(bod);       (向输出声明的变量,会得到属性)

console.log(bsd[bod]);   (再输出对象名,然后方括号中 输入变量名. 便会得到属性值,如果少一个便不会完整的输出,只输出其中的一部分)

console.log("属性名="+bod+".属性值="+bsd[bod]);  (跟上面一样。不过显示的方式更为好看一点)

}

6.JavaScript-作用域

--定义: 作用域指一个变量的作用范围

--Js中一共两种作用域

(1)全局作用域

--直接写在script标签的Js代码,都在全局作用域

--全局作用域在页面打开的时候创建,在页面关闭时销毁

--在全局作用域中有一个对象window,它代表一个浏览器的窗口,

它由浏览器创建,我们可以直接使用

--在全局作用域中:

创建的变量对都会作为window对象的属性保存

全局中的函数都会作为window对象的方法保存

--全局作用域中的变量都是全局变量

在页面的任意的部分都可以访问到

例:var num = 20;  (这个是全局变量)

function  fun(){

var  a = 12;

console.log(a);

}

fun();  //作为函数调用

window.fun();  //作为window对象.函数名()  把fun叫做是window对象的方法

(简意: window表示窗口对象 带函数调用就叫做:window对象的方法)

(2)函数作用域(局部作用域)

局部变量只能在函数体内

这是我所学到的JavaScript的控制语句和函数,想分享给你们,希望可以帮助到你们。以上就是我的分享,如有更好的方法,欢迎大家推荐!写错的地方,欢迎大家在评论区指正!谢谢

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值