L1E6N0A2

监督自己不断学习

0%

“学习收获(一)”

深度链接与JS变量提升

深度链接(Deeplink)可能存在在以下几个场景下:

1、如果A已经安装了该App,那她只要点开链接就可以直接跳转到App内;

2、如果A没有安装相关App,那就会跳转到应用市场指引下载App并安装

类型场景还有其他可能性:

1、短信,比如某宝上新发给小伙伴A的短信,小伙伴A可以点击短信内链接打开App;

2、短信,比如小伙伴A收到某社交平台的好友申请,需要通过短信打开手机自带浏览器,然后通过浏览器跳转指定页面

3、通过分享到微信中h5页面,在微信中打开App(这个需要到微信开放平台做配置)。

总结来说,Deeplink,又叫深度链接技术,是指在App/短信/广告里点击链接,能直接跳转到目标App具体位置的技术,深度链接打破了网站与App间的壁垒,成为实现网站与App相互跳转的桥梁。开发者不仅可以通过deeplink实现网站到App互相跳转,也可以实现从多个平台(QQ、微信、微博、Twitter、Facebook、短信、各大浏览器等)到App内指定页的跳转。例如用户将电商App内的一个详情页链接通过短信形式发送给其他亲友,用户点击短信内的链接就能打开对应的H5页面,然后直接跳转到电商App内的指定详情页,而不是App首页。如果用户并未安装App,那么就会跳转到App下载页面。等用户安装打开App后仍然能跳转到指定页面。Deeplink技术不仅可以实现场景快速还原,缩短用户使用路径,更重要的是能够用于App拉新推广场景,降低用户流失率。
(From:https://www.zhihu.com/question/51509486/answer/1619850176)

为了打破Web与App间的壁垒,实现Web与App的相互交换和跳转,深度链接(Deep link)成为了链接两者的桥梁。当我们点开App里的链接时,可以跳转到Web页面,也可以通过深度链接实现从任意渠道(微信、微博、短信、邮件、浏览器、搜索引擎、其他App)到应用内容页的一键跳转。

depplink

JS变量提升

请看下面的例子:

1
2
3
4
5
6
console.log(cat)
catName("Chloe");
var cat = 'Chloe'
function catName(name) {
console.log("我的猫名叫 " + name);
}

按照得出的结论:”JavaScript是按顺序执行的”来看,步骤如下:

  • 执行第一句的时候,cat并没有定义,结果应该是抛出一个错误,然后结束执行。
1
Uncaught ReferenceError: cat is not defined

但实际的执行结果并不是这样:

不仅可以执行,catName()执行结果也输出了。

这种现象就是: 变量提升

从概念的字面意义上说,“变量提升”就是把变量和函数的声明移动到代码的最前面,变量被提升后,会给变量设置默认值–undefined。

调整之后的执行顺序如下:

  • 首先执行var cat = undefined和function catName(){}
  • 然后执行console.log(cat) // undefined
  • 接着调用catName()
  • 最后给cat赋值cat = ‘Chloe’

移动一词容易造成误解。实际在物理层面上代码的位置并没有改变。JavaScript是解析执行的语言,在执行前会先经过编译阶段。造成这种现象的原因是:JavaScript引擎在编译阶段中将变量和函数的声明放在了内存中。

谷歌在用户的谷歌Home或谷歌Nest设备上的安全JavaScript沙箱环境中托管您的应用程序。本地实现目前不支持报表状态API和查询意图。谷歌依赖您的云执行来处理这些请求。本地Home SDK v1.0支持通过Wi-Fi使用mDNS、UDP或UPnP协议发现本地设备。一旦建立了本地路径,应用程序就可以使用TCP、UDP或HTTP向设备发送命令。Action控制台的本地Home SDK配置页面现在接受本地fulfillment应用程序的JavaScript包。当您准备发布应用程序时,将JavaScript文件上传到控制台并提交操作。