javascript算法_01 初始javascript

初始javascript

声明和初始化变量

  • javascript中变量默认是全局变量,甚至不需要在使用前进行声明
  • 对一个事先未予声明的javascript变量进行初始化,该变量即为一个全局变量
  • 尽量在使用变量前先对其进行声明,这样做可以使声明的变量为局部变量

javascript中的算术运算和数据库函数

Math.sqrt(n);//平方根函数
Math.abs(n);//绝对值函数
n.toFixed(2);//将数组格式化为固定精度

判断结构

if语句

if语句有如下三种形式:

  • 简单的if语句
  • if-else语句
  • if-else语句

switch语句

在有多个简单的选择时,使用该语句的代码结构更加清晰。

javascript中的switch语句和其他编程语言的一个主要区别是:在javascript中,用来判断的表达式可以是任意类型,而不仅限于整型;而C++和Java等一些语言就要求该表达式必须为整型。

循环结构

while循环和for循环

函数

javascript提供了两种定义函数的方式:

  • 有返回值的
  • 没有返回值的(子程或void函数)

使用没有返回值的参数并不是为了得到它的返回值,而是为了执行函数中定义的操作

javascript中,函数的参数传递都是按值传递,没有按引用传递的参数。但是javascript中有保存引用的对象,比如数组,它们是按引用传递的。

变量作用域

变量作用域是指一个变量在程序中的哪些地方可以访问。javascript中的变量作用域被定义为函数作用域。这是指变量的值在定义该变量的函数内是可见的,并且定义在该函数内的嵌套函数中也可访问该变量。

分为:全局作用域与局部作用域
注意:javascript允许在定义变量时不使用关键字var,但这样做的后果是定义的变量自动拥有了全局作用域,即使是在一个函数作用域内定义的该变量,也是全局变量。

ES5的时候,javascript拥有的是函数作用域,没有块级作用域。
ES6的时候,javascript拥有块级作用域。

递归

javascript中允许函数递归调用。
当一个函数被递归调用,在递归没有完成时,函数的计算记过暂时被挂起。

对于大多数情况,javascript都有能力处理递归层次较深的递归调用,但是有的算法需要的递归深度超出了javascript的处理能力,这时需要寻求该算法的一种迭代解决方案来解决。

任何可以被递归定义的函数,都可以被改写为迭代式的程序!

对象和面向对象编程

javascript提供了多种方式来创建和使用对象。

对象通过如下方式创建:定义包含属性和方法声明的构造函数,并在构造函数后紧跟方法的定义。

下面时一个检查银行账户对象的构造函数:

function Checking(amount){
    this.balance = amount;//属性
    this.deposit = deposit;//方法
    this.withdraw = withdraw;//方法
    this.toString = toString;//方法
}
//this关键字用来将方法和属性绑定到一个对象的实例上。
//定义声明过的方法:
function deposit(amount){
    this.balance += amount;
}
function withdraw(amount){
    if(amount <= this.balance){
        this.balance -= amount
    }
    if(amount > this.balance){
        print('Insufficient funds');
    }
}
function toString(){
    return "Balance:" + this.balance;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值