前端零基础学IOS 开发| 青训营笔记

139 阅读2分钟

项目代码 MyCalculator


1、前端零基础学IOS 开发| 青训营笔记

这是我参与「第四届青训营 」笔记创作活动的第4天

在这一小节我们对几个Swift中和JS中都有的几个概念进行比较和学习,希望你能够有所收获

2、SwiftVSJavaScript

2.1、Swift中的class和JavaScript中的class对比

再Swift和Javscript的对比我们能看到,不论是在class的声明,继承,实例化,都是有不同的,但是他们俩想做的事,是一样的,都是为了弄出一个公共的东西,方便再次利用, Swift中的结构体和class的作用很像,但是,结构体是值类型,class类是引用类型。

Swift

class Animal {
    func type() -> String{
        "动物"
    }
    func action() -> String {
        "行为"
    }
}
class Bird: Animal{
    override func type() -> String {
        "布谷鸟"
    }
    override func action() -> String {
        // 子类重写父类方法并且使用了父类的方法
        type() + super.action() + "吃麦子"
    }
}
let animal  = Animal.init()
let bird  = Bird() //init可以不写
print(animal.type()) //“动物”
print(animal.action()) // “行为”
print(bird.type()) // “布谷鸟”
print(bird.action()) // “布谷鸟行为吃麦子”

JavaScript

class Facher {
    constructor(name, age){
        this.name = name
        this.age = age
    }
    speak() {
        console.log("你好")
    }
}
class Son extends Father {
    constructor(name, age, school){
        super(name, age)
        this.school = school
    }
}
let POTKISS = new Father("POTKISS", 40)
let potkiss = new Son("potkiss", 20, "UNKNOW")
console.log(POTKISS.name) // POTKISS
console.log(potkiss.age) // 40
console.log(potkiss.school) // “UNKNOW”
POTKISS.speak() // “你好”

2.2、Swift中的函数传参和JavaScript中的函数传参对比

在Swift中有外参和内参,然而在Js中没有,Swift中函数要是有返回值,要写-> 返回值类型,Js中不需要

Swift

func join1(String1:String, String2:String) -> String { //记着这里的返回值的类型
    return String1 + String2 // 里面只有一句可以不写return
}
print(join1(String1: "name", String2: "POTKISS1"))
// 内外参数名分开
func join2(str1 String1:String,str2 String2:String) -> String { //记着这里的返回值的类型
    return String1 + String2 // 里面只有一句可以不写return
}
print(join2(str1: "name", str2: "POTKISS2"))
// 不写外部参数名 -一般第一个参数的外部参数名不写
func join3(_ String1:String, _ String2:String) -> String { //记着这里的返回值的类型
    return String1 + String2 // 里面只有一句可以不写return
}
print(join3("name", "POTKISS3"))

JavaScript

function join (val1, val2) {
    return val1 + val2
}
console.log(join1("Hello", "World"))

3、总结

这里我们简单总结了一个类,一个函数传参,用Swift和Js进行了对比,还有一些概念没仔细提到,有机会做个补充。