小编Phi*_*enn的帖子

允许用户更改自己的JavaScript

我正在教学生如何编写JavaScript,所以我在页面上有这个:

<textarea name="PgmJS">console.log(1);</textarea>
<script id="PgmJS">
</script>
Run Code Online (Sandbox Code Playgroud)

我想做的是:

$('textarea[name=PgmJS]').on('keyup',PgmJSKeyUp);
function PgmJSKeyUp() {
    $('#PgmJS').text('function init() {' + $(this).val() + '}');
    init();
}
Run Code Online (Sandbox Code Playgroud)

但是浏览器说没有定义init().

javascript

0
推荐指数
1
解决办法
45
查看次数

与安装者和吸气剂一起工作

我真的试图打破选手和吸气者来理解他们.我认为如果有条件,可以使用setter:

var Temperature = {}
Temperature.closure = null
var init = {}
init.get = function() {
	return this.closure
}
Object.defineProperty(Temperature, "b", init)
init = {}
init.set = function(arg) {
	if (arg > -459.67) { // sanity check to make sure it's above 0 degrees Kelvin
		this.closure = arg
	}
}
Object.defineProperty(Temperature, "c", init)

console.log(Temperature.b); // null
Temperature.c = 32;
console.log(Temperature.b); // 32
Temperature.c = -5000
console.log(Temperature.b); // still 32
Run Code Online (Sandbox Code Playgroud)

我想要做的是摆脱.b和.c以便我可以说

Temperature = 32
Run Code Online (Sandbox Code Playgroud)

要么

console.log(Temperature)
Run Code Online (Sandbox Code Playgroud)

javascript

0
推荐指数
1
解决办法
75
查看次数

更新 indexeddb 中的单个字段

以下工作代码用于设置我的问题:

myRequest = indexedDB.deleteDatabase('myDatabase')
myRequest.onsuccess	= function() {
	var myRequest
	
	myRequest = indexedDB.open('myDatabase')
	myRequest.onupgradeneeded = function(response) {
		var myDatabase
			,myObjectStore
		
		myDatabase = response.target.result
		myObjectStore = myDatabase.createObjectStore('myData',{autoIncrement:true})
	}
	myRequest.onerror = function(response) {
		debugger
	}
	myRequest.onsuccess = function(response) {
		var myTransaction
			,myObjectStore
			,myRequest
			,obj = {}
		window.myDatabase = response.target.result
		myTransaction = myDatabase.transaction(['myData'],'readwrite')
		myObjectStore = myTransaction.objectStore('myData')
		obj.field1 = 'a'
		obj.field2 = 'b'
		myObjectStore.add(obj)
	}
}
Run Code Online (Sandbox Code Playgroud)

问:我怎么说相当于:

update myData set field2='c' where key=1
Run Code Online (Sandbox Code Playgroud)

我是否必须在 .put 语句中同时提供 field1 和 field2?

indexeddb

0
推荐指数
1
解决办法
1761
查看次数

纯 JavaScript $.Deferred

如果没有 jQuery,我将如何编写以下内容?

var dfd = $.Deferred()
dfd.done(done)
dfd.resolve()

function done() {
   console.log('done')
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

javascript promise

0
推荐指数
2
解决办法
2441
查看次数

编写我自己的拆分方法

我今天早些时候发现,如果附加到单个值,split()不起作用.我想编写自己的split()方法,这样如果我发送一个值,它就会创建一个带有单个值的数组.

问:我应该更改拆分原型还是编写功能?

var SPLIT=function(X) {
   return X.toString().split()
}
Run Code Online (Sandbox Code Playgroud)

javascript

-2
推荐指数
1
解决办法
297
查看次数

KhanAcademy API

我想让我的学生在khanacademy.org上加我为他们的教练.

问:我可以从Khan Academy的API获得哪些数据?我可以获取他们观看过的视频或徽章吗?

coldfusion khan-academy

-3
推荐指数
1
解决办法
661
查看次数