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