我正在教学生如何编写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().
我真的试图打破选手和吸气者来理解他们.我认为如果有条件,可以使用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) 以下工作代码用于设置我的问题:
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?
如果没有 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)
我今天早些时候发现,如果附加到单个值,split()不起作用.我想编写自己的split()方法,这样如果我发送一个值,它就会创建一个带有单个值的数组.
问:我应该更改拆分原型还是编写功能?
var SPLIT=function(X) {
return X.toString().split()
}
Run Code Online (Sandbox Code Playgroud) 我想让我的学生在khanacademy.org上加我为他们的教练.
问:我可以从Khan Academy的API获得哪些数据?我可以获取他们观看过的视频或徽章吗?