uni-app js语法

锋哥原创的uni-app视频教程:

2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni-app简介、第2讲 uni-app环境搭建、第3讲 uni-app之HelloWorld实现等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1eG411N71c/uni-app的js API由标准ECMAScript的js API 和 uni 扩展 API 这两部分组成。

标准ECMAScript的js仅是最基础的js。浏览器基于它扩展了window、document、navigator等对象。小程序也基于标准js扩展了各种wx.xx、my.xx、swan.xx的API。node也扩展了fs等模块。

uni-app基于ECMAScript扩展了uni对象,并且API命名与小程序保持兼容。

标准js和浏览器js的区别

uni-app的js代码,h5端运行于浏览器中。非h5端(包含小程序和App),Android平台运行在v8引擎中,iOS平台运行在iOS自带的jscore引擎中,都没有运行在浏览器或webview里。

非H5端,虽然不支持window、document、navigator等浏览器的js API,但也支持标准ECMAScript。

请注意不要把浏览器里的js扩展对象等价于标准js。

所以uni-app的非H5端,一样支持标准js,支持if、for等语法,支持字符串、数字、时间、布尔值、数组、自定义对象等变量类型及各种处理方法。仅仅是不支持window、document、navigator等浏览器专用对象。

ES6 支持

uni-app 在支持绝大部分 ES6 API 的同时,也支持了 ES7 的 await/async。

ES6 API 的支持,详见如下表格部分(x 表示不支持,无特殊说明则表示支持):

es6课程:南通小锋网络科技Java1234课堂是高品质的Java视频课程平台。为励志成为Java全栈工程师的程序员们,提供优质的后端技术、前端技术、数据库、服务器视频教程。http://www.java1234.vip/course/71

pages下新建common目录,再新建test.js

javascript 复制代码
const a=2;
​
const obj={
    name:'jack',
    age:11,
    say(){
        console.log("姓名:"+this.name+" 年龄:"+this.age)
    },
    say2:function(){
        console.log("say2 姓名:"+this.name+" 年龄:"+this.age)
    },
    say3:(name,age)=>{
        console.log("say3 姓名:"+name+" 年龄:"+age)
    }
}
​
function func(m,n){
    return m+n;
}
​
export{
    a,
    obj,
    func
}

index.vue修改:

javascript 复制代码
<template>
	<view class="content">
		<image class="logo" src="/static/logo.png"></image>
		<view class="text-area">
			<view class="title">{{title}}</view>
			<view class="title common_style">{{text}}</view>
			<view class="title">{{text2}}</view>
		</view>
	</view>
</template>

<script>
	import {a,obj,func} from "@/pages/common/test.js"
	export default {
		data() {
			return {
				title: 'Hello',
				text: '',
				text2:0
			}
		},
		onLoad() {
			getApp().globalData.text="修改数据"
			this.text=getApp().globalData.text;
			this.text2=a;
			console.log(obj.name+":"+obj.age)
			obj.say();
			obj.say2();
			obj.say3("marry","12");
			console.log(func(1,2))
		},
		methods: {

		}
	}
</script>
相关推荐
Lee川1 小时前
🚀《JavaScript 灵魂深处:从 V8 引擎的“双轨并行”看执行上下文的演进之路》
javascript·面试
比特鹰1 小时前
手把手带你用Flutter手搓人生K线
前端·javascript·flutter
大雨还洅下1 小时前
前端JS: 数组扁平化
javascript
奔跑路上的Me1 小时前
前端导出 Word/Excel/PDF 文件
前端·javascript
bluceli1 小时前
JavaScript异步编程深度解析:从回调到Async Await的演进之路
前端·javascript
SuperEugene1 小时前
路由与布局骨架篇:布局系统 | 头部、侧边栏、内容区、面包屑的拆分与复用
前端·javascript·vue.js
代码煮茶1 小时前
前端网络请求实战 | Axios 从入门到封装(拦截器 / 错误处理 / 重试)
javascript
进击的尘埃1 小时前
组合式函数 Composables 的设计模式:如何写出可复用的 Vue3 Hooks
javascript
进击的尘埃2 小时前
浏览器渲染管线深度拆解:从 Parse HTML 到 Composite Layers 的每一帧发生了什么
javascript
大雨还洅下2 小时前
前端手写: Promise封装Ajax
javascript