首页 >>  正文

javascript+foreach

来源:baiyundou.net   日期:2024-08-06

摘要:你有没有尝试过在 iOS 中创建小部件,感受一把身为 iOS 程序员的快乐?本文作者将用二十几行 JavaScript 代码教你构建一个 iOS 小部件,据他所说,这“一点都不难”。

原文链接:https://stackonfire.com/feel-yourself-ios-developer-with-20-lines-of-javascript

声明:本文为 CSDN 翻译,未经授权,禁止转载。

作者 | Dimitri Ivashchuk译者 | 弯月

出品 | CSDN(ID:CSDNnews)

在这篇入门指南中,我们将构建如下软件,实际所需编写的 JavaScript 代码非常少。

这个软件的创意来源有两个:

1.有人使用这个小部件来显示收入。

2.频繁检查 GitHub 代码库的星星数量很麻烦。

我发现,构建 iOS 小部件一点都不难,只要有合适的工具,再加上非常基础的 JavaScript 知识即可!

项目简介

这个项目是一个 iOS 小部件,用来显示 GitHub 代码库的星星数量。这里我通过自己的一个开源项目为例进行说明。我们将采用 Scriptable,这个工具可以通过 JavaScript 生成漂亮的小部件,就像上图一样。

代码// Request// Nothing special here, just an async request function GitHub open APIasync function getGithubData() {const url = "https://api.github.com/repos/lost-pixel/lost-pixel";const request = new Request(url);const response = await request.loadJSON();return response;}//UI// Function that defines the element of the widgetasync function createWidget() {// Fetching data with the function we prepared beforeconst githubData = await getGithubData();// Create new wdiget & set black background colorlet listwidget = new ListWidget();listwidget.backgroundColor = new Color("#000000");// Create heading and style it properlylet heading = listwidget.addText("⭐ Lost Pixel ⭐");heading.centerAlignText();heading.font = Font.lightSystemFont(25);heading.textColor = new Color("#fff");// Add spacer between elementslistwidget.addSpacer(15);// Create the stars display and style it properly. We use the data from API herelet stars = listwidget.addText(githubData.stargazers_count);stars.centerAlignText();stars.font = Font.semiboldSystemFont(20);stars.textColor = new Color("#ffffff");return listWidget;}// Execute createWidget function that returns us the widgetlet widget = await createWidget();// Show the widget when added to IOS homescreenif (config.runsInWidget) {Script.setWidget(widget);} else {widget.presentMedium();}// finish the execution of the scriptScript.complete();

显示小部件

1.在 iOS 设备上安装 Scriptable for iOS;

2.点击 + 按钮创建一个新的脚本。

3. 将上面的代码粘贴到空白输入处。

4. 保存,这样就完成了!

5. 最后一步,只需将这个小部件添加到主屏幕即可:通过 Scriptable 小部件,将刚刚建好的小部件添加到主屏幕。

好了,恭喜你完成了!

","force_purephv":"0","gnid":"9814c8430ca71adb9","img_data":[{"flag":2,"img":[{"desc":"","height":"80","s_url":"https://p0.ssl.img.360kuai.com/t0186957a1ca5352752_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t0186957a1ca5352752.gif","width":"640"},{"desc":"","height":"532","title":"","url":"https://p0.ssl.img.360kuai.com/t01095ccaaab9792540.jpg","width":"288"},{"desc":"","height":"572","title":"","url":"https://p0.ssl.img.360kuai.com/t0174127653a418720f.jpg","width":"264"},{"desc":"","height":"603","title":"","url":"https://p0.ssl.img.360kuai.com/t01c23f0df5cb3fd48e.jpg","width":"278"}]}],"original":0,"pat":"art_src_1,sexf,sex4,sexc,disu_label,fts0,sts0","powerby":"hbase","pub_time":1662551412000,"pure":"","rawurl":"http://zm.news.so.com/f753d87736b0ac70b2ec52aac6e846a2","redirect":0,"rptid":"e42646c2b6f7e4a1","s":"t","src":"CSDN","tag":[{"clk":"ktechnology_1:github","k":"github","u":""},{"clk":"ktechnology_1:java","k":"java","u":""},{"clk":"ktechnology_1:ios","k":"ios","u":""}],"title":"用 20+ 行 JavaScript 代码,短暂“变身” iOS 程序员!

缪荆澜2925.JS文件的格式化快捷键 ctrl+shift+F 键不好用 -
谈兴裴18876048613 ______ 默认ctrl+alt+F.并且默认只能格式化js和json.用的时候需要先选中代码.再用快捷键

缪荆澜2925我的电脑打开油箱.状态栏显示javascript:fGoto() ,我把IE也重新设置,但是问题依旧,那位高手为我排难? -
谈兴裴18876048613 ______ 状态栏显示javascript:fGoto() 这是正常现象啊,说明该网页的邮箱操作使用javascript语言编写的

缪荆澜2925JS里面a=f()和b= new f()的区别在哪里?是不是都有调用函数的过程? -
谈兴裴18876048613 ______ a = f();<br>执行函数,this指向window.<br>this.x等于window.x.<br>var x = 1;<br>这个全局变量x是window.x.<br><br>b= new f();<br>执行函数,this指向当前函数的一个实例.<br>this.x等于当前对象的x.<br><br>执行结果是<br>undefined // 这个和变量声明有关,变量声明会在函数的开始执行,所以alert之前局部变量x已经被声明了,但是值是undefined.<br>1 // window.x<br>undefined // 同上<br>undefined // this.x

缪荆澜2925javascript的+= -
谈兴裴18876048613 ______ 加法赋值运算符 (+=) 将变量值与表达式值相加,并将和赋给该变量. result += expression 参数 result 任何变量. expression 任何表达式.说明 使用本运算符与这样指定完全相同: result = result + expression 表达式中加下划线的子类型决定 += 运算符的操作. 如果 那么 两个表达式都是数字或 Boolean 量 加 两个表达式都是字符串 连接 一个表达式是数字而另一个是字符串

缪荆澜2925javascript与Flex -
谈兴裴18876048613 ______ 个人感觉flex的前景更大.js的确跨平台,目前的很多网站都是使用js构架的,但这是因为其他的限制,比如网速,比如处理速度.flex的优势很明显,js需要很多机制实现的ajax异步功能,在flex中只是基础功能.flex功能强大,设计出来的界面也...

缪荆澜2925用JS代替JQ -
谈兴裴18876048613 ______ var ds = this.querySelectorAll(".disagree"); for(var i = 0; i < ds.length; i++){ ds[i].className = "disagree agree"; } var dss = this.parentElement.querySelectorAll(".disagree"); for(var i = 0; i < dss.length; i++){ dss[i].className = "disagree"; } ...

缪荆澜2925用Javascript for 语句做出1+2+3+...+1000的值. -
谈兴裴18876048613 ______ <script type="javascript"> var sum=0; for(var i=1;i<=1000;i++) { sum+=i: //sum=sum+i,每次循环把sum+i的值赋给sum继续循环 } alert(sum); //sum就是最后结果 </script>

缪荆澜2925javascript 求任意两个数之间的所有数的和 -
谈兴裴18876048613 ______ if(b>c){ b = r; c = f;}else{ b = f; c = r;}赋值反了,应该是r = b;f = c其实不用写这么麻烦的,可以这样写:var b = Math.floor(prompt("输入"));var c = M...

缪荆澜2925JavaScript 怎么用for循环解决生兔子的问题 -
谈兴裴18876048613 ______ 循环生兔子其实是抽象成斐波那契数列,规律如下: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 … 在javascript中可以有以下两种实现方法: 方法一(普通循环实现): var looping = function(n) { var a = 0, b = 1, f = 1; for(var i = 2; i <= n; i++) ...

缪荆澜2925js加法运算在线等 -
谈兴裴18876048613 ______ JavaScript的parseInt只能转换整数,有小数点的时候需要使用parseFloat 不过推荐使用new Number(document.getElementById('fa').value) 使用Number类型的时候,它会自动判断小数点,进行转换

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024